解決策 1:
シェルを変更するために使用するコマンドは chsh です . nologin シェルは /sbin/nologin
にすることができます または /usr/sbin/nologin
(/etc/shells
を調べて、どれを持っているかを確認してください ) でも /bin/false
chsh -s /bin/false user
scponly のようなものを設定することを検討する必要があります
解決策 2:
また、OpenSSH 4.9 以降でも実行できるはずです。これにより、セキュリティを強化するためにユーザーを追加で chroot できます。
/etc/ssh/sshd_config
で :
Match User user
ChrootDirectory /home/user
ForceCommand internal-sftp
AllowTcpForwarding no
次に実行します:
chsh -s /bin/false user
chown root:root /home/user
mkdir /home/user/uploads
chown user /home/user/uploads
ユーザーは /home/user/uploads にしか書き込みできません。
https://debian-administration.org/article/590/OpenSSH_SFTP_chroot_with_ChrootDirectory
解決策 3:
最善の方法は mysecureshell を使用することだと思います
http://mysecureshell.sourceforge.net/en/index.html
これで簡単にユーザーを chroot でき、必要に応じて帯域幅を制限することもできます。