LinuxでSFTPのみ利用可能なユーザ作成の備忘録となります。
Contents
SFTPユーザの追加
ユーザを追加してパスワードを設定
$ sudo useradd -s /bin/false sftpuser $ sudo passwd sftpuser
SFTPログイン時のディレクトリを作成
SFTPログイン時に表示されるディレクトリを作成します。
作成するディレクトリの所有者はrootでないとSFTP接続時にエラーが出るので必ずrootにしてください。
そのためログインディレクトリの配下にSFTPユーザが書き込み出来るディレクトリを作成します。
$ sudo mkdir /home/sftpuser-data/ $ sudo chown root /home/sftpuser-data/ $ sudo mkdir /home/sftpuser-data/data $ sudo chmod 775 /home/sftpuser-data/data
SFTPユーザの閲覧ディレクトリを制限するがめにsshd_configを開き設定を追記します。
$ sudo vi /etc/ssh/sshd_config
sshd_configの末尾に以下を追記します。
Match User sftpuser ChrootDirectory /home/sftpuser-data/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
また、Subsystem sftp /usr/libexec/openssh/sftp-serverの行があれば以下のように変更しておきます。
Subsystem sftp /usr/libexec/openssh/sftp-server ↓ Subsystem sftp internal-sftp
設定の反映
sshdを再起動して設定を反映します。
$ sudo systemctl restart sshd
(Visited 2,869 times, 1 visits today)