서버/호스팅
2018.04.05 02:26
조회 수 : 1176
아마존은 보안상 ssh접속을 패스워드방식이 아니라 키방식입니다.
부득이 패스워드방식으로 sFTP를 사용해야하는 경우 아래와 같이 설정합니다.
1. /etc/ssh/sshd.conf 수정
# 패스워드로 접속할 수 없도록 설정되어 있는 것은 그대로 둔다.
PasswordAuthentication no
# Subsystem을 아래와 같이 수정한다. chroot설정한 사용자는 ssh접속을 할 수 없다.
#Subsystem sftp /usr/libexec/openssh/sftp-server
Subsystem sftp internal-sftp
#유저 chroot를 설정한다.
Match User UserName
ChrootDirectory /home/UserDirectory
# 이 사용자에게 패스워드 접속을 허용한다.
PasswordAuthentication yes
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
# ssh접속시도시 안내문을 내보낸다.
ForceCommand /bin/echo 'We talked about this guys. No SSH for you!'
2. 권한설정
#유저디렉토리(chroot directory)는 root 소유로, 퍼미션은 755
chown root:root /home/user
chmod 755 /home/user
# 이때 사용자는 해당 디렉토리에 쓰기권한이 없어 sFTP로 접속해도 아무것도 할 수 없다.
따라서 유저소유의 웹디렉토리를 하위에 만들어 사용한다.
/home/user/www
/home/user/www
3. 추가 보안설정 (/etc/ssh/sshd.conf)
#포트번호를 22에서 다른 번호로 바꾼다.
Port 20000
#ssh 접속유저를 지정한다.
Addusers user1 user2 user3
#root 접속을 불허한다.
PermitRootLogin no