Chroot
scponly 工作但沒有 chroot 主文件夾,使用者仍然可以瀏覽整個伺服器
所以我遵循了http://sublimation.org/scponly/wiki/index.php/FAQ中的“Chroot 和 Debian”教程
然後,當我通過 ssh 登錄使用者“上傳”時,我無法訪問命令行(這就是我想要的)。
但是當我 SFTP 進入上傳使用者時,我仍然可以看到所有的根文件 (/),它並沒有 chroot 我只是 /home/upload 發生了什麼?
….
我將此添加到我的 /etc/ssh/sshd_config 文件的末尾,然後重新啟動
Subsystem sftp internal-sftp UsePAM yes Match User upload ChrootDirectory /home/upload AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
然後當我登錄 sftp 時,我只能看到我的上傳文件夾(這是我想要的),但現在 scp 不起作用:P
然後SCP會接受我的密碼:
debug1: Next authentication method: password upload@10.10.10.2's password: debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug1: Requesting no-more-sessions@openssh.com debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = en_NZ.UTF-8 debug1: Sending command: scp -v -t /test
它將掛在最後一條調試消息上。
任何幫助將不勝感激。
注意,執行 Debian Lenny
你沒有在這裡使用
scponly
。您已將使用者限制upload
為使用 SFTP,因此您不能scp
在該帳戶上使用,因為scp
依賴於互動式 shell 或至少一個支持某些命令(如scponly
orrssh
)的 shell。使用
sftp
或其他 SFTP 客戶端(例如lftp
)訪問該帳戶或從您的 sshd_config 中刪除ForceCommand
andChrootDirectory
指令。
scponly 原生支持 chroot。有編譯時選項可以啟用它,尤其是
--enable-chrooted-binary
. scponly 將需要 SUID 位來啟用 chroot。如果已經編譯,您的文件系統上將擁有
scponlyc
可用的二進製文件。chroot 作為安全解決方案的有用性也存在限制。