我正在尝试让一些用户能够使用 sftp 但不能使用 ssh。我查看了OpenSSH:internal-sftp 和 sftp-server 之间的区别和尝试将 SFTP 用户 ChrootDirectory 到他们的主目录
在 sshd_config 中我有以下几行
Subsystem sftp internal-sftp
AllowUsers <a bunch of users>
Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp
Filezilla 为我提供
Error: Network error: Software caused connection abort
Error: Could not connect to server
当我注释掉时,ChrootDirectory /home/%u
我就能正常连接了。
我怎样才能 chroot?
答案1
我在这里大胆猜测一下,这是文件权限问题。如果你使用 ChrootDirectory一切以下路径需要由 root 拥有,而不是可写组(请参阅 man sshd_config)。
并且为了确保您确实将您的用户添加到组 sftponly 和所有这些内容中...