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

[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 385

번호 제   목   글쓴이 날짜 조회
105 [리눅스서버] 리눅스 root 패스워드 재설정 관리자 2011-06-17 40169
104 [DB] [mysql]설치시 에러 - No curses/termcap library found 제이네트워크 2013-01-07 40166
103 [윈도우서버] iis 버전 버젼 version 확인 방법 제이네트워크 2019-01-14 40143
102 [메일] [sendmail]센드메일 버전체크 하기 (리눅스서버에서) 제이네트워크 2017-04-04 40138
101 [DB] [mysql] mysql에서 (테이블명) is marked as crashed and should be repaired 에러시 관리자 2012-03-23 40118
100 [메뉴얼] windowsmediaplayer 인코더 제이네트워크 2011-05-23 40048
99 [리눅스서버] 리눅스에서 공백이 포함된 디렉토리 처리 제이네트워크 2016-07-26 40016
98 [스크립트언어] [PHP] checking lex output file root... ./configure: line 2554: lex: command not found 컴파일에… 관리자 2011-06-17 39956
97 [리눅스서버] swap 메모리 추가하기 제이네트워크 2017-12-07 39852
96 [wowza] Wowza Media Server 3.5.2 리눅스(윈도우동일) RPM버전 디렉토리 구조 제이네트워크 2013-03-19 39839
95 [스크립트언어] 아이온큐브 라이브러리 사용후 아파치에러 관리자 2011-05-16 39780
94 [기타] 영상샘플 제이네트워크 2015-02-11 39780
93 [DB] MYSQL 자료의 이전과 database dump 관리자 2011-06-17 39773
92 [DB] [mysql] mysql 에서 캐릭터셋(characterset) 설정 확인 제이네트워크 2013-08-06 39732
91 [리눅스서버] [BIND - 네임서버 존파일에서 SRV 레코드 추가] 제이네트워크 2016-11-18 39702
90 [메일] [sendmail]메일 수발신이 느릴때 (sendmail이 정상동작 하나 느리게 작동할 때) 제이네트워크 2015-09-22 39682
89 [스크립트언어] [ASP] ASP에서 글 내용 한줄씩 프린트 하기 관리자 2011-06-17 39671
88 [메일] 리눅스 sendmail 로 폼메일사용시 nobody@localhost.localhost.com 으로 발송될 경우 (1) 제이네트워크 2016-07-06 39617
87 [리눅스서버] [named] dig 명령어 사용법 제이네트워크 2015-02-14 39562
86 [리눅스서버] [리눅스서버] [리눅스서버]CentOS-6.9 yum 오류날때 제이네트워크 2017-11-08 39540
85 [리눅스서버] 리눅스에서 CPU 정보 및 CPU 코어개수, 물리 CPU 수를 확인하는 방법 제이네트워크 2017-04-27 39439
84 [리눅스서버] [우분투]ubuntu 15.10 서버 네트워크 설정 및 ufw 방화벽 제이네트워크 2016-03-24 39297
83 [메뉴얼] Asrock IKVM Menual 제이네트워크 2014-03-31 39268
82 [리눅스서버] [apache] mod_ruid2 모듈 설치시 에러 mod_ruid2.c:45:28: error: sys/capability.h: No such file … 제이네트워크 2015-11-06 39249
81 [기타] 리눅스 named(bind) 설정 점검 사이트 제이네트워크 2017-06-11 39053
80 [DB] Can't find file: './mysql/***.frm' (errno: 13)문제 관리자 2011-06-17 38971
79 [wowza] IP CAMERA 및 DVR영상(rtsp)을 wowza server 3.x 통해서 스트리밍하기(wowza restreaming) 제이네트워크 2014-08-26 38806
78 [DB] mysql 로그파일 줄이기 관리자 2011-05-17 38800
77 [쉘스크립트] /bin/sh^M: bad interpreter: No such file or directory 오류 발생 시 제이네트워크 2016-01-22 38704
76 [리눅스서버] 리눅스서버에서 chracterset 을 맞출려고 할 때 제이네트워크 2015-08-25 38610
75 [DB] mysql 디비생성 스크립트 관리자 2011-05-16 38496
74 [DB] [MS-SQL SERVER 2008 로그 파일 사이즈 줄이기] 제이네트워크 2015-05-12 38433
73 [DB] MySQL DB Table 유실로 인한 장애시 Mysql Binary 로그를 통한 복구 (2) 제이네트워크 2015-01-21 38380
72 [윈도우미디어] 익명 사용자 인증 플러그 인 오류 때문에 Windows Media 서비스 시작할 수 없습… 제이네트워크 2017-11-25 38115
71 [DB] mysql에서 name server 질의 하지 않게 설정 제이네트워크 2014-01-24 38013
70 [리눅스서버] INIT: no more processes left in this runlevel 메세지 발생후 부팅에러 제이네트워크 2016-08-01 37955
69 [리눅스서버] [Centos7.x 에서 vsftp접속문제] 500 OOPS:vsftpd:refusing to run with writable root inside chroo… 제이네트워크 2017-04-19 37933
68 [메일] [다음- 스마트워크 MX 레코드 설정방법] 제이네트워크 2018-02-19 37872
67 [DB] Mssql 시스템 프로지져 삭제 복구 관리자 2011-06-17 37766
66 [리눅스서버] [Apache] worker 방식 접속자 튜닝방법 제이네트워크 2016-08-26 37725
 1  2  3  4  5  6  7  8  9  10