CentOS7.2连接不上WinSCP的全面解决方案
现象描述
用户在使用WinSCP连接CentOS7.2服务器时,出现连接超时、认证失败或拒绝访问等错误提示,无法完成文件传输操作。
排查步骤与解决方案
1. 验证SSH服务状态
执行命令检查sshd服务运行状态:
systemctl status sshd
若服务未启动,使用以下命令启用并启动服务:
systemctl enable sshd && systemctl start sshd
2. 检查防火墙配置
查看防火墙是否开放22端口:
firewall-cmd --list-ports | grep 22
未开放时执行以下命令添加规则:
firewall-cmd --permanent --add-port=22/tcp
firewall-cmd --reload
3. 修改SSH配置文件
编辑配置文件:
vi /etc/ssh/sshd_config
确认以下关键参数配置:
Port 22 PermitRootLogin yes PasswordAuthentication yes
修改后重启服务:
systemctl restart sshd
4. 检查SELinux状态
查看当前SELinux模式:
getenforce
若为Enforcing模式,临时禁用测试:
setenforce 0
5. 验证用户权限
检查目标目录的权限设置:
ls -ld /path/to/directory
建议设置合理权限:
chmod 755 /path
6. 网络连通性测试
在客户端执行端口检测:
telnet server_ip 22
若不通,需排查网络设备策略或云服务器安全组设置。
注意事项
- 修改配置文件前建议备份原始文件
- 生产环境慎用PermitRootLogin和SELinux禁用操作
- 建议使用SSH密钥认证替代密码认证
- 云服务器需同步检查安全组规则