我有一台安装了 ubuntu 的服务器。更改网络配置并重新启动服务器后,ssh 客户端无法再连接服务器。但在服务器上,我可以使用 ssh 客户端自行连接,并且 netstat 命令显示 sshd 正在监听端口 22。并且在我的计算机(win7)上,ping 命令可以正常访问服务器的新 IP。
/etc/network/interfaces中的配置为:
auto eth0
iface eth0 inet static
address 10.80.x.x
netmask 255.255.255.0
gateway 10.80.x.1
我对此很困惑。希望有人能给我一些想法。提前谢谢您!!!
答案1
尝试使用telnet
如下方式连接到 ssh 守护进程:
$ telnet 10.80.1.1 22
如果你得到如下信息:
Trying 10.80.1.1 22...
telnet: Unable to connect to remote host: Connection timed out
那么该连接很可能被防火墙阻止或sshd
监听了错误的 IP 地址(检查/etc/ssh/sshd_config
有效ListenAddress
选项)。
在其他情况下它应该打印类似的内容:
Trying 10.80.1.1 22...
Connected to 10.80.1.1 22.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1
这意味着您的客户端可以连接到服务器。如果您仍然无法使用 ssh 客户端连接到服务器,则可能是 Windows 防火墙阻止了客户端应用程序。
您的 ssh 客户端是否也没有报告任何类型的错误?
答案2
这里的“问题”中没有实际问题,但我对“如何让 SSH 再次连接?”这个问题有一个答案。
我在使用 Lubuntu 14.04 LTS 时也遇到了同样的问题。
我清除了 ssh
sudo apt-get purge openssh-server
并立即重新安装
sudo apt-get install openssh-server
然后我就能再次通过 ssh 连接了。
如果您已经自定义了 sshd_config(或任何其他 ssh 配置文件),请确保在清除之前在安全位置制作备份副本,因为清除会删除所有配置文件,而删除则不会。