SFTP 错误 - 无法读取数据包:对端重置连接

SFTP 错误 - 无法读取数据包:对端重置连接

我尝试在 Centos 7 上配置 SFTP,在我的第一台服务器上它运行良好,但是在我的第二台服务器上,当我尝试连接时:

sftp USERNAME@serveripaddress

我有这个错误:

Could not read packet: Connection reset by peer

我用这个方法:

adduser USERNAME
passwd USERNAME
groupadd sftp_only
usermod -aG sftp_only USERNAME

配置 SSH chroot:

vi /etc/ssh/sshd_config

添加评论 :

#Subsystem Sftp /usr/libexec/openssh/sftp-server

在后面添加以下行:

Subsystem sftp internal-sftp

在文件末尾添加:

Group sftp_only Match
ChrootDirectory /var/www
ForceCommand internal-sftp
X11Forwarding No
AllowTcpForwarding No

重新启动 SSH:

service sshd restart

我的 2 台服务器上有相同的 iptables 规则,并且我尝试禁用 iptables。

也许我需要安装一个像 VSFTPD 这样的 FTP 服务器?

谢谢您的帮助,因为我已经好几个小时没有上网了。

答案1

您可以使用提供 SFTP 前端的 proftpd。这样,您就可以在一个守护进程中整合 SFTP、FTP 和 FTP/S。但是,您不能将端口 22 用于 SFTP,否则您将不得不放弃该端口上的 SSH,因为 proftpd 和 sshd 无法为 SFTP 绑定相同的端口。

答案2

猫/var/log/auth.log

May 10 17:08:32 machine sshd[31902]: fatal: bad ownership or modes for chroot directory component "/var/www/html/nextcloud/"

那是我的问题

我们可以关注这个chroot 目录组件的所有权或模式不正确

顺便说一句,我最终使用了绑定解决方案需要帮助 - 限制对 sftp 用户的访问,以便其他用户主页->子文件夹

答案3

更改PasswordAuthentication noPasswordAuthentication yes文件/etc/ssh/sshd_config并使用service sshd restart命令重新启动。

答案4

确保主文件夹归 root 所有,而默认文件夹归 sftp 用户所有。例如,当您想将 Incoming 作为用户“guestuser”的主目录时,您应该使用用户 /guestuser/incoming 创建文件夹。Guestuser 文件夹应归 root 所有,而 Incoming 应归 guestuser 所有。

相关内容