温馨提示×

centos ssh报错怎么处理

小樊
46
2026-09-26 21:51:43
栏目: 智能运维

在 CentOS 上遇到 SSH 报错 很常见,但“报错”有很多种,需要先看具体报错信息。下面我先给你一个常见 SSH 问题排查清单,你可以对照自己的情况;如果你愿意,把具体报错内容贴出来,我可以精准帮你分析。


一、先确认基础信息

  1. 你是 客户端连不上服务器,还是 服务器起不来 SSH?
  2. 报错是在:
    • 连接时(如 ssh user@ip)
    • 启动服务时(systemctl start sshd)
    • 登录后
  3. CentOS 版本:
    cat /etc/redhat-release
    

二、常见报错 & 处理方法

1️⃣ Connection refused(连接被拒绝)

原因:SSH 服务没开 / 端口不对 / 防火墙拦了

✅ 排查:

systemctl status sshd
netstat -tunlp | grep 22

✅ 解决:

systemctl start sshd
systemctl enable sshd

防火墙:

firewall-cmd --permanent --add-service=ssh
firewall-cmd --reload

2️⃣ Permission denied (publickey / password)

原因:

  • 密码错
  • 禁用了密码登录
  • 公钥没放对

✅ 检查:

grep -E "PasswordAuthentication|PubkeyAuthentication" /etc/ssh/sshd_config

✅ 修改后重启:

systemctl restart sshd

3️⃣ ssh: connect to host x.x.x.x port 22: No route to host

原因:网络不通 / IP 错 / 被防火墙 DROP

✅ 测试:

ping x.x.x.x
telnet x.x.x.x 22

4️⃣ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED

原因:服务器重装 / IP 复用

✅ 解决(客户端):

ssh-keygen -R x.x.x.x

5️⃣ /var/empty/sshd must be owned by root and not group or world-writable

原因:权限异常

✅ 修复:

chown root:root /var/empty/sshd
chmod 711 /var/empty/sshd
systemctl restart sshd

6️⃣ CentOS 7 升级后 SSH 起不来

可能是 SELinux 问题:

setenforce 0
systemctl restart sshd

三、快速自检脚本(推荐)

systemctl status sshd
ss -tunlp | grep :22
iptables -L -n | grep 22
getenforce

四、你可以这样发给我(最快)

请直接贴:

系统版本:
报错完整信息:
你执行的命令:

我可以一步一步带你修,甚至判断是不是被云厂商安全组拦了。

0 踩