赞
踩
遇到 “ssh: connect to host [host] port 22: Connection refused” 错误通常意味着SSH服务器未运行或无法在指定端口上进行连接。以下是解决此问题的故障排除步骤:
参考:
https://www.howtouselinux.com/post/fix-ssh-connect-to-host-port-22-connection-refused
验证SSH服务器状态:
systemctl status sshd
检查SSH端口:
ssh -p [port] [username]@[host]
防火墙设置:
sudo ufw allow 22 # 适用于Ubuntu/Debian
sudo firewall-cmd --zone=public --add-port=22/tcp --permanent # 适用于CentOS/RHEL
检查网络连接:
ping
命令检查远程主机是否可达:ping [host]
检查SSH客户端配置:
~/.ssh/config
) 是否有任何错误设置导致问题。检查远程主机访问权限:
重启SSH服务:
sudo systemctl start sshd # 适用于基于systemd的系统
sudo service sshd start # 适用于使用SysV init的系统
检查SELinux/AppArmor:
在执行这些步骤后,尝试再次使用SSH命令连接到远程主机。如果问题仍然存在,请仔细检查错误消息,以确定可能导致问题的具体细节。此外,检查SSH服务器的日志(Ubuntu/Debian上的 /var/log/auth.log
或CentOS/RHEL上的 /var/log/secure
)以获取更多有关连接问题的信息。
在更改SSH服务器配置或防火墙设置之前,请谨慎行事,并确保具备适当的访问权限。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。