我正在尝试使用 Windows 客户端的 Putty 连接到 Solaris 服务器。SSH 连接不起作用。终端窗口只显示错误消息“网络错误:连接被拒绝”。使用 Putty 的 Telnet 在同一台服务器上运行良好。有人可以详细说明在这种情况下需要检查哪些配置吗?如何排除故障?(同一网络中还有其他允许 SSH 连接的服务器。)
答案1
您可以使用以下一系列步骤来诊断问题:
- 检查 sshd 是否在主机上运行(ps -ef|grep ssh)
- 使用 netstat 确保 sshd 绑定到端口 22(netstat -al|grep "LISTEN " 应该有效)
- 查看是否可以通过 ssh 从主机连接到真实 IP 地址(如果不行,则可能是本地防火墙,或者 sshd 没有正常工作
- 尝试从客户端机器 ping 主机(如果失败,则存在路由问题)
- 尝试从客户端计算机 telnet 到端口 22(telnet 192.168.1.1 22)(如果失败,则防火墙阻止了您)
- 最后,如果以上所有操作都成功,但您无法使用 ssh 客户端进行 ssh - 请重新安装您的 ssh 客户端。
答案2
检查您和服务器之间是否没有防火墙。
答案3
我知道这似乎是一个非常明显的检查。但你确认你的 Solaris 服务器正在运行 sshd 吗?一旦你远程登录到机器,运行网络状态查看它是否正在监听 ssh 端口(端口 22)。如果是,那么下一步就是检查 /etc/hosts.allow 等,正如 MathewC 所建议的那样
答案4
如果这是 Solaris 10,请通过发出svcs -p ssh
命令检查 SSHD 是否正在运行。这将告诉您 SSH 是否正在运行,如果没有,则说明原因(可能是依赖项由于某种原因失败,或者可能被禁用)。
您可以通过以下方式启用 SSHsvcadm enable ssh