如果在配置 CentOS 的 SFTP 服务后无法连接,可以尝试以下步骤来解决问题:
确保已经安装了 OpenSSH 服务器:
sudo yum install openssh-server
检查 SSH 服务是否正在运行:
sudo systemctl status sshd
如果服务未运行,请使用以下命令启动它:
sudo systemctl start sshd
确保防火墙允许 SFTP 连接。运行以下命令以允许 SFTP 连接:
sudo firewall-cmd --permanent --zone=public --add-service=sftp
sudo firewall-cmd --reload
检查 /etc/ssh/sshd_config
文件中的 SFTP 配置。确保以下行没有被注释掉(删除行首的 #
):
Subsystem sftp /usr/libexec/openssh/sftp-server
如果您希望对 SFTP 用户进行限制,可以在 /etc/ssh/sshd_config
文件中添加以下配置:
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
然后,在 /etc/group
文件中创建一个名为 sftpusers
的组,并将需要限制的用户添加到该组中。
重启 SSH 服务以应用更改:
sudo systemctl restart sshd
检查服务器的 IP 地址和端口是否正确。默认情况下,SFTP 使用端口 22。确保客户端使用正确的 IP 地址和端口进行连接。
查看服务器上的 SSH 和 SFTP 日志,以获取有关连接失败的详细信息。这些日志通常位于 /var/log/auth.log
或 /var/log/secure
。
确保客户端使用的 SSH 密钥与服务器上的公钥匹配。如果使用密码身份验证,请确保提供了正确的密码。
尝试以上步骤后,如果仍然无法连接,请提供更多详细信息,以便进一步诊断问题。