我正在尝试通过 SSH 进入我的主机。我使用的是 Mac OSX。在终端中我输入:
ssh user@hostname
我立即收到一条错误消息,指出:
connect to host xx.xx.xxx.xx port 22: connection refused
我尝试通过 SSH 连接到我的 EC2 实例(完全不同的主机),并且可以顺利完成。您知道问题可能是什么吗?或者我可以进行哪些进一步的故障排除来找出问题并修复它?
答案1
这表明 ssh 守护进程未运行或防火墙设置为拒绝连接。
答案2
在您尝试访问的系统上,运行以下命令:
ps aux | grep ssh
netstat -tulpn | grep 22
您没有指定目标主机的操作系统。如果是 Mac,您可能必须修改 netstat 命令行参数。但简单来说,您需要列出监听端口,然后 grep 查找端口 22,这是 ssh 运行的端口。
如果以上任何一个命令都没有输出,尤其是第二个命令,那么您的 sshd 守护进程没有运行,您需要先启动它才能连接。
也就是说,立即出现的错误表明(正如理查德提到的)防火墙正在阻止连接。