用SSH连接CentOS拒绝:原因分析与解决方案

用SSH连接CentOS拒绝的常见原因与解决方法

问题现象

尝试通过SSH客户端(如PuTTY或终端)连接CentOS服务器时,出现"Connection refused"或"连接被拒绝"的错误提示。

排查与解决方案

1. 检查SSH服务状态

在CentOS服务器上执行以下命令验证SSH服务是否运行:

systemctl status sshd

若服务未启动,运行:systemctl start sshd && systemctl enable sshd

2. 验证SSH端口监听

使用命令检查默认端口(22)是否处于监听状态:

netstat -tunlp | grep sshd

若未显示监听信息,检查/etc/ssh/sshd_config文件中Port参数配置。

3. 防火墙配置检查

排查防火墙是否阻止SSH端口:

firewall-cmd --list-all | grep ssh

若未开放端口,执行:firewall-cmd --permanent --add-service=ssh && firewall-cmd --reload

4. SELinux策略限制

临时禁用SELinux测试是否解决问题:

setenforce 0

若生效,需调整SELinux策略规则或保持禁用状态(不推荐)。

5. 用户访问权限验证

检查/etc/ssh/sshd_config文件中以下配置:

  • PermitRootLogin(是否允许root登录)
  • AllowUsers(白名单用户)
  • DenyUsers(黑名单用户)

6. 密钥认证问题

若使用密钥登录,检查以下内容:

  • 客户端私钥文件权限是否为600
  • 服务器~/.ssh/authorized_keys文件权限是否为600
  • 公钥是否完整复制到服务器

7. 查看系统日志

通过journalctl -u sshdtail -f /var/log/secure查看详细错误日志。

注意事项

  • 修改配置文件后需执行systemctl restart sshd
  • 生产环境建议使用非默认SSH端口
  • 定期检查/etc/hosts.allow/etc/hosts.deny文件

寰宇互联服务器4核4G云服务器1元/月,网络稳定、抗DDos、国际BGP、性能强劲,十年服务经验QQ:97295700 微信:huanidc

阅读剩余
THE END