远程连接 Linux 主机时提示“Connection refused”或超时
在远程连接 Linux 主机时遇到“Connection refused”或超时错误,通常是由于以下原因之一导致的。以下是一些可能的原因及其解决方法:
1. SSH 服务未启动:

- 确保 SSH 服务正在运行。可以通过以下命令检查和启动 SSH 服务:
sudo systemctl status ssh
sudo systemctl start ssh
- 在某些系统上,服务名称可能是sshd,所以也可以尝试:
sudo systemctl status sshd
sudo systemctl start sshd
2. 防火墙设置:
- 检查防火墙设置,确保允许 SSH 流量。可以使用以下命令查看和调整防火墙规则:
sudo ufw status
sudo ufw allow ssh
- 如果使用的是iptables,可以查看规则:
sudo iptables -L
3. 端口配置:
- 确认 SSH 使用的是默认端口 22。如果 SSH 配置使用了其他端口,需要在连接时指定该端口:
ssh -puser@hostname
- 检查 SSH 配置文件/etc/ssh/sshd_config,确认Port设置正确。
4. 网络问题:
- 确保网络连接正常。可以尝试使用ping命令测试主机的连通性:
ping
- 检查是否有网络设备(如路由器或交换机)阻止了连接。
5. 主机名或 IP 地址错误:
- 确认连接时使用的主机名或 IP 地址正确无误。
6. SELinux 设置:
- 如果 SELinux 启用,可能会阻止 SSH 连接。可以尝试临时将 SELinux 设置为宽松模式进行测试:
sudo setenforce 0
- 如果问题解决,可能需要调整 SELinux 策略。
如果以上方法都未能解决问题,建议查看系统日志获取更多信息。可以查看/var/log/auth.log或/var/log/secure(具体路径可能因系统而异)以获取有关 SSH 连接的详细日志。



