Ssh
如何僅為 sftp 創建使用者?
我已經通過該
adduser
工具向系統添加了一個使用者。然後,在 中/etc/passwd
,我嘗試將/bin/bash
to/sbin/nologin
或 to更改為/dev/null
,但這些都不起作用。我希望使用者沒有選擇獲取互動式 shell 的選項,而只能使用
sftp
. 有辦法嗎?我知道以前在這裡被問過,但似乎沒有人給出令人滿意的答复。
您應該用來更改 shell 的命令是 chsh。nologin shell 可以是
/sbin/nologin
or/usr/sbin/nologin
(通過查看來檢查您擁有的/etc/shells
),但/bin/false
可能是更好的選擇。chsh -s /bin/false user
您應該考慮設置類似scponly的東西,它會完全按照您的意願行事。
您還應該能夠使用 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