CentOS 下 SSH 无法启动,常见原因和排查步骤如下,你可以按顺序来:
systemctl status sshd
journalctl -xe
看具体报错(端口占用、配置错误、权限问题等)。
rpm -qa | grep openssh-server
如果没有:
yum install -y openssh-server
sshd -t
如果有报错,按提示修改:
vi /etc/ssh/sshd_config
修改后:
systemctl restart sshd
看是否端口被占用(默认 22):
netstat -lntp | grep :22
如果被占用,改端口或杀掉占用进程。
ls -l /etc/ssh
确保:
sshd_config 权限 600可重建:
ssh-keygen -A
临时关闭测试:
setenforce 0
systemctl restart sshd
如果可以启动:
grep sshd /var/log/audit/audit.log
firewall-cmd --list-all
firewall-cmd --add-service=ssh --permanent
firewall-cmd --reload
/usr/sbin/sshd -D
能看到最真实错误。
systemctl enable sshd
systemctl start sshd
如果你愿意,把下面两条命令的输出发我,我可以直接帮你判断:
systemctl status sshd
sshd -t