所以我按照http://sublimation.org/scponly/wiki/index.php/FAQ中的“Chroot and Debian”教程
然后,当我通过SSHlogin到用户“上传”我没有访问命令行(这是我想要的)。
但是,当我的SFTP进入上传用户,我仍然可以看到所有的根文件(/),它不chroot我只是/家/上传最新怎么回事?
…。
我将其添加到/ etc / ssh / sshd_config文件的末尾,然后重新启动
Subsystem sftp internal-sftp UsePAM yes Match User upload ChrootDirectory /home/upload AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
然后当我loginsftp我只能看到我的上传文件夹(这是我想要的),但现在scp不工作:P
SCP将接受我的密码,然后:
debug1: Next authentication method: password [email protected]'s password: debug1: Authentication succeeded (password). debug1: channel 0: new [client-session] debug1: Requesting [email protected] debug1: Entering interactive session. debug1: Sending environment. debug1: Sending env LANG = en_NZ.UTF-8 debug1: Sending command: scp -v -t /test
它将挂在最后的debugging消息。
任何帮助将不胜感激。
请注意,运行Debian Lenny
你在这里没有使用scponly 。 您已将用户upload限制为使用SFTP,因此您不能在该帐户上使用scp ,因为scp依赖交互式shell或至less一个支持某些命令(如scponly或rssh )的shell。
使用sftp或其他SFTP客户端(例如lftp )访问该帐户,或从sshd_config中删除ForceCommand和ChrootDirectory指令。
scponly本地支持chroot。 有编译时选项来启用它,特别是--enable-chrooted-binary 。 scponly将需要SUID位来启用chroot。
如果已经编译完成,你将在你的文件系统上使用二进制文件scponlyc 。
作为安全解决scheme,chroot的用处也有限制。