- sftponly グループに属しているユーザのみをsftpが使用できるポリシーとします。
- sftponly グループを追加します。
# groupadd sftponly
- sftpを使用したいユーザをsftponlyグループに追加します。(例では、hoge と hoge2)
sftponly:x:1002:hoge,hoge2
- /etc/ssh/sshd_config を編集します。
# 内部のsftpを使うように指定する
#Subsystem sftp /usr/local/libexec/sftp-server
Subsystem sftp internal-sftp
# 認証されたユーザがsftponlyグループの場合、ChrootDirectoryを実施する
Match group sftponly
ChrootDirectory /home2/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
- sshd を再起動する
% sudo systemctl restart sshd.service
- 公開鍵(authorized_keys)を $HOME/.ssh に設定する
hoge -> /home/hoge/.ssh/authorized_keys
hoge2 -> /home/hoge2/.ssh/authorized_keys
- hoge2 の設定
# cd /home
# mkdir hoge2
# cd hoge2
# mkdir .ssh
# chmod 700 .ssh
# .ssh
# cp /home/hoge/.ssh/authorized_keys .
- ChrootDirectory で管理されるディレクトリを作成する(hoge の場合)
# mkdir -p /home2/hoge
# chown root:root /home2/hoge
- hoge が書き込めるディレクトリを作成する(share でなくてもok、好きなディレクトリ名でw)
# cd /home2/hoge
# mkdir share
# chown hoge:hoge share
# chmod 777 share