HOME > 이용안내
이용안내
 
작성일 : 19-06-30 14:11
[리눅스서버] SFTP 접속만 가능한 계정 만들기]
 글쓴이 : 제이네트워크
조회 : 34,441  

[SFTP 접속만 가능한 계정 만들기]

계정을 만들다보면, 특정 계정은 ssh 접속은 차단하고 sftp 만 가능하게 만들어야 할 때가 있다.
그럴때는 아래와 같이 작업하면 sftp 접속만 가능한 계정을 만들 수 있다.

ssh 환경값을 수정해야 하기 때문에 모든 작업은 root 계정으로 해야 한다.


1단계: sftp 전용 그룹 및 사용자 만들기.

아래 명령을 수행하면 sftpusers 라는 그룹이 만들어지며,
user1 이란 사용자를 ssh 접속하지 못하게 하면서(쉘 설정을 /sbin/nologin 으로)
sftpusers 라는 그룹에 속하도록 사용자를 생성한다.
passwd 명령으로 새로 생성된 user1 사용자의 비밀번호를 설정한다.

1. groupadd sftpusers
2. useradd -G sftpusers -s /sbin/nologin user1
3. passwd user1


2단계: sshd 서비스 환경값 수정.

/etc/ssh/sshd_config 파일을 vi 로 열어


1. vi /etc/ssh/sshd_config
2. Subsystem sftp /usr/libexec/openssh/sftp-server   <-- 이 라인을 찾아
3. Subsystem sftp internal-sftp                      <-- 이걸로 '대체' 한다.
 

 /etc/ssh/sshd_config 파일의 끝으로 이동하여, 아래 구문을 추가한다.
그룹명으로 지정된 sftpusers 는 1단계에서 생성한 그룹이다.


1. Match Group sftpusers
2. X11Forwarding no
3. AllowTcpForwarding no
4. ChrootDirectory %h
5. ForceCommand internal-sftp
 
 
 :wq 를 눌러 sshd_config 파일을 저장하고 프롬프트로 나간 후, 아래 명령을 수행하여
sshd 서비스를 재시작 한다.

1.  systemctl restart sshd.service
 

3단계: sftp 접속만 가능한 사용자를 위한 전용 디렉토리 생성.

아래 명령어를 수행하여 sftp 접속만 가능한 사용자를 위한 디렉토리를 생성한다.
디렉토리는 굳이 /home/user1 이 아니어도 된다.
나 같은 경우에는 /mnt/storage/sftp 와 같이 용량 큰 하드디스크의 특정 디렉토리를 지정하였다.

1. chown -R root /home/user1
2. chmod -R 755 /home/user1
3. mkdir /home/user1/files
4. chown user1. /home/user1/files
 

4단계: sftp 만 접속 가능한 사용자 더 만들기.

계정이 더 필요하다면, 아래 명령을 수행하여 sftp 접속만 가능한 사용자를 만들 수 있다.
ssh 접속을 못하기 때문에 .bash_profile 과 같은 환경 파일이 생성되지 않으므로 경로는 3단계와 같은 경로를 써도 상관없다.


1. useradd -G sftpusers -s /sbin/nologin user2
2. passwd user2
3. chown -R root /home/user2
4. chmod -R 755 /home/user2
5. mkdir /home/user2/files
6. chown user2. /home/user2/files
 
이렇게 작업하면, ssh 접속은 거부되면서 sftp 접속만 가능한 사용자를 만들 수 있다.






Cloud server Streaming service Domain Cloud Firewall

 
 

Total 377

번호 제   목   글쓴이 날짜 조회
57 [리눅스서버] 우분투18.04 에서 rc.local 파일 사용하기 제이네트워크 2019-11-17 28172
56 [메일] 센드메일-아웃룩에러 중 다른메일메세지가 배달중이거나... 제이네트워크 2015-11-03 27973
55 [리눅스서버] 리눅스 에서 Apche / php / mysql 컴파일 옵션 확인하기 제이네트워크 2015-12-09 27892
54 [리눅스서버] 우분투18.04 vi 에디터에서 글자가 깨져 보일 때 제이네트워크 2019-11-17 27856
53 [리눅스서버] mkfs로 포맷이 안되는 경우 (오류 dev/sdb2 is apparently in use by the system; will not mak… 제이네트워크 2020-04-02 27757
52 [DB] phpMyAdmin 4.x 버전에서 필요없는 에러메세지 없애는 방법 제이네트워크 2016-02-01 27268
51 [기타] [리눅스에러] /bin/sh^M: bad interpreter: No such file or directory 제이네트워크 2017-06-26 27229
50 [윈도우서버] 윈도우서버 IIS7.5 다운로드 업로드 용량 늘리기 제이네트워크 2018-12-13 27116
49 [기타] 크롬브라우저에서 플래시 항상허용후 설정값 저장하는 방법 제이네트워크 2018-12-01 27083
48 [DB] [mysql]MySQL 5.6 SQL STRICT 모드 변경 방법 제이네트워크 2019-08-14 26943
47 [DB] [mysql] Mysql 에러코드 중에 (Got error 134 from storage engine) 나올때 처리법 제이네트워크 2015-06-04 26823
46 [DB] mysql 데이타베이스에서 max_connection 늘려주기 관리자 2011-05-17 26712
45 [기타] tar 특정폴더에 압축을 풀어야 할 경우 사용 옵션 제이네트워크 2016-05-10 26692
44 [DB] [Mysql] mysql 엔진 Myisam 을 Innodb로 변경하는 방법 제이네트워크 2016-12-11 26337
43 [윈도우서버] Windows 10 자동 업데이트 완전 끄기 제이네트워크 2019-01-11 26240
42 [기타] 리눅스 named(bind) 설정 점검 사이트 제이네트워크 2017-06-11 26103
41 [DB] [MS-SQL 쿼리] 해당 컬럼을 NULL 값으로 변경하고자 할때 제이네트워크 2016-08-23 26012
40 [윈도우미디어] 익명 사용자 인증 플러그 인 오류 때문에 Windows Media 서비스 시작할 수 없습… 제이네트워크 2017-11-25 25472
39 [DB] [Mysql] show processlist 계속 보기 제이네트워크 2016-12-10 25373
38 [DB] [Mysql] mysql 기본 스토리지 엔진확인 제이네트워크 2016-12-10 25367
37 [PHP] php7에서 opcache 사용하기 제이네트워크 2017-04-27 25013
36 [기타] 그누보드4(EUCKR)에서 그누보드5(UTF8)로 데이타이전 하기 제이네트워크 2020-06-28 24908
35 [리눅스서버] Cronlog 설정 하는 법 제이네트워크 2020-12-19 24701
34 [리눅스서버] 아파치서버에서 동시접속자 수를 알아보려고 할 때 제이네트워크 2020-12-19 24565
33 [PHP] php-5.5.x 아래 버전에서 Zend Opcache 설치 제이네트워크 2017-04-27 24447
32 [DB] MSSQL SERVER 테이블변경시 제한시간이 만료되었습니다. 라는 에러발생시 제이네트워크 2019-01-30 24403
31 [리눅스서버] Apache서버에 mod_url 추가 설치 제이네트워크 2020-12-19 24388
30 [DB] mysql-5.7.x 이상 버전에서 비번 변경 후 에러가 나올 때 제이네트워크 2019-01-22 24374
29 [DB] MSSQL 1씩 자동증가값 제어(ID 사양 변경 안될 경우) 제이네트워크 2019-01-30 24281
28 [PHP] 사이트별 allow_url_fopen허용해 주기 제이네트워크 2017-09-12 23867
27 [메일] [sendmail] 메일발송이 안될 때 (오류 Relaying temporarily denied. Cannot resolve PTR recor… 제이네트워크 2020-07-15 23546
26 [PHP] 그누보드5 서버이전 후 글 작성 및 member가입 작성안되는 경우 제이네트워크 2019-04-24 23519
25 [PHP] php 에러시 Warning: date(): It is not safe to rely on the system's timezone settings 제이네트워크 2016-02-03 23268
24 [DB] MSSQL2016 에서 서버유지관리/ 백업스케쥴 실행시 에러가 날때 제이네트워크 2019-08-22 23200
23 [DB] mtysql 5.7 이상버전에서 root 패스워드 변경시 제이네트워크 2017-11-25 22927
22 [DB] MSSQL2008 로그 줄이기 제이네트워크 2018-11-29 22922
21 [DB] [mysql] mysql 덤프파일 복구시 에러시 - Got a packet bigger than 'max_allowed_packet&… 제이네트워크 2017-09-14 22675
20 [메일] 아웃룩 메일 수발신할 때 (메일오류코드 2) 제이네트워크 2021-05-28 22527
19 [메일] Centos7 sendmail설치 제이네트워크 2021-09-09 21807
18 [PHP] php에서 세션을 늘리는 방법 제이네트워크 2019-08-22 21641
 1  2  3  4  5  6  7  8  9  10