我尝试在 Centos 7 上配置 SFTP,在我的第一台服务器上它运行良好,但在我的第二台服务器上尝试连接时:
sftp USERNAME@serveripaddress
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
Could not read packet: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
我用这个方法:
adduser USERNAME
passwd USERNAME
groupadd sftp_only
usermod -aG sftp_only USERNAME
Run Code Online (Sandbox Code Playgroud)
配置 SSH chroot :
vi /etc/ssh/sshd_config
Run Code Online (Sandbox Code Playgroud)
添加评论 :
#Subsystem Sftp /usr/libexec/openssh/sftp-server
Run Code Online (Sandbox Code Playgroud)
在后面添加一行:
Subsystem sftp internal-sftp
Run Code Online (Sandbox Code Playgroud)
在文件末尾添加:
Group sftp_only Match
ChrootDirectory /var/www
ForceCommand internal-sftp
X11Forwarding No
AllowTcpForwarding No
Run Code Online (Sandbox Code Playgroud)
重启 SSH:
service sshd restart
Run Code Online (Sandbox Code Playgroud)
我在我的 2 个服务器上有相同的 iptables 规则,我尝试禁用 iptables。
也许我需要安装一个像 VSFTPD 这样的 FTP 服务器?
谢谢你帮助我,因为几个小时以来我完全被阻止了。
我只为 SFTP 创建了一个用户和一个组,当我尝试使用 Filezilla 传输文件时,/var/www出现此错误:
Open for write: permission denied
Run Code Online (Sandbox Code Playgroud)
我是这样配置的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
Run Code Online (Sandbox Code Playgroud)
/var/www 和子目录是chown root:root和chmod 755
SELinux 被禁用。
任何的想法 ?