为用户设置 Chrooting SFTP

为用户设置 Chrooting SFTP

我想创建 SFTP 用户并限制对目录的访问。因此我创建了用户并在配置中添加了以下内容

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

但是,我似乎无法连接到服务器,出现错误

ssh: connect to host 11.22.33.44 port 22: Connection refused

答案1

“连接被拒绝”错误消息通常意味着相关接口:端口上没有任何内容正在监听,因此首先要做的是检查并根据需要修复此问题。要找出您的 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

请注意,这显示 sshd 在单个 IP 地址的端口 22 和 2222 上运行。您看到的内容很可能有所不同,但您应该能够弄清楚并查看 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。

答案2

问题出在 sshd-config 文件上。现在我将与 chrooting 相关的配置文本放在文件末尾,它就起作用了。谢谢大家的帮助

相关内容