为用户的Chrooting SFTP设置

我想要启用SFTP用户并限制对目录的访问。 所以我创build了用户并在configuration中添加了以下内容

Match user joe ChrootDirectory /storage/public ForceCommand /usr/libexec/sftp-server 

但是,似乎我不能连接到服务器,我得到错误

 ssh: connect to host 11.22.33.44 port 22: Connection refused 

“连接被拒绝”错误消息通常意味着什么都不在相关的接口上监听:因此,首先要做的是检查,如果需要的话修复这个问题。 要找出您的sshd正在侦听的位置,请运行该命令

 netstat -tnlp | grep sshd tcp 0 0 192.168.10.188:2222 0.0.0.0:* LISTEN 29929/sshd tcp 0 0 192.168.10.188:22 0.0.0.0:* LISTEN 29929/sshd 

请注意,这显示了在单个IP地址上的端口22和2222上运行的sshd。 你看到的最有可能是不同的,但你应该能够弄清楚,看看你的sshd在听什么。

如果sshd没有监听与主机对应的IP地址,则可以将ListenAddress指令添加到/etc/ssh/sshd_config文件

 ListenAddress 11.22.33.44 

然后重新启动sshd。

如果你的sshd正在监听非标准的端口,例如2222,那么你可以使用

 sftp -p 2222 joe@yourhost 

连接到系统。 如果要使用标准端口22则可以在/etc/ssh/sshd_config添加新的端口指令

 Port 22 Port 2222 

然后重新启动sshd。

问题是与sshd-config文件。 现在我把configuration文本相关的chroot放在文件的末尾,它工作。 谢谢你们的帮助