如果在CentOS上配置SFTP后,发现配置不生效,可以尝试以下步骤来解决问题:
sudo systemctl status sshd
如果没有启动,请使用以下命令启动:
sudo systemctl start sshd
/etc/ssh/sshd_config
。使用文本编辑器打开文件,例如:sudo vi /etc/ssh/sshd_config
Subsystem sftp /usr/libexec/openssh/sftp-server
如果这一行被注释掉了(以#开头),请去掉注释。
Match Group sftpusers
ChrootDirectory %h
ForceCommand internal-sftp
AllowTcpForwarding no
X11Forwarding no
这里,我们创建了一个名为sftpusers
的用户组,并将允许使用SFTP的用户添加到该组。ChrootDirectory
指令将用户的根目录限制在其主目录中,ForceCommand
指令强制用户使用SFTP。
保存并关闭配置文件。
检查/etc/ssh/sshd_config
中的配置语法是否正确。可以使用以下命令检查:
sudo sshd -t
如果有错误,请根据提示修复。
sudo systemctl restart sshd
sudo firewall-cmd --permanent --add-service=sftp
sudo firewall-cmd --reload
如果使用的是iptables,请添加以下规则:
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m tcp --dport 22 -j ACCEPT
如果仍然无法解决问题,请检查系统日志(如/var/log/auth.log
和/var/log/secure
)以获取更多信息。