温馨提示×

centos怎样修复ssh错误

小樊
46
2026-09-24 00:37:06
栏目: 智能运维

在 CentOS 上“修复 SSH 错误”要看具体报什么错。下面我按最常见场景给你一套排查与修复流程,你可以对照使用。


一、先确认 SSH 服务状态

systemctl status sshd

如果没启动:

systemctl start sshd
systemctl enable sshd

二、常见错误及修复方法

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

原因:sshd 没运行 / 端口不对 / 防火墙拦了

检查端口:

ss -lntp | grep ssh

默认是 22

防火墙(CentOS 7/8):

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

SELinux(少见但可能):

getenforce
setenforce 0   # 临时关闭测试

2️⃣ Permission denied (publickey)

原因:密钥不对 / 禁止密码登录

检查:

cat /etc/ssh/sshd_config | grep -i pubkey

确保:

PubkeyAuthentication yes

如果是密码登录被禁:

PasswordAuthentication no

可改为 yes(测试用)

修改后重启:

systemctl restart sshd

3️⃣ sshd 启动失败

查看详细错误:

journalctl -xe

或:

sshd -t

常见原因:

  • 配置文件语法错误
  • 主机密钥丢失

重建密钥:

ssh-keygen -A
systemctl restart sshd

4️⃣ Host key verification failed

本地执行:

ssh-keygen -R 服务器IP

再重新连接。


5️⃣ CentOS 无法 SSH 登录(根因配置问题)

检查:

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

建议:

PermitRootLogin yes
PasswordAuthentication yes

三、通用修复建议

  1. 备份配置
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  1. 用最小配置测试
  2. 云服务器注意安全组

四、如果你愿意

你可以直接把 具体报错信息 或 sshd 日志 发给我,例如:

ssh user@ip
报错:xxx

我可以给你精准修复命令。

0 踩