我有一个工作站,我需要通过SSH连接到远程服务器。 服务器在Solaris 11下。我可以连接到远程服务器,但是当我尝试从远程服务器ssh回到我的工作站时,出现超时错误。
我怎么可能连接到远程主机,但我不能连接回来?
PS:我的工作站上的防火墙被禁用。
您可以通过端口22从机器A连接到机器B的事实并不意味着您可以在端口22上从B连接到A.毕竟,我的桌面可以通过端口80连接到google.com ,但绝对不意味着整个全球的谷歌服务器arrays可以连接到我的桌面的Apache实例。
许多事情可能会阻碍:NAT,您的站点防火墙,他们的站点防火墙,中间的一些防火墙,等等。
你可以做的是使用ssh来制作从Sol 11盒子到你的桌面的反向隧道。 你可以通过连接来做到这一点
desktop% ssh solaris-11-server -R 2222:localhost:22
然后,当你在Sol11盒子上,并且希望ssh到你的家庭系统时,你可以连接到端口2222上的Sol 11盒子(这只是一个随机数字,如果你需要的话,可以在上面和下面的命令中改变它) ),与
sol11% ssh localhost -p 2222
(这是一个完全推测的答案,因为你没有提供你的桌面是哪个操作系统的细节,以及你的服务器是否在局域网上)
可能是因为您的工作站正在使用路由器提供的NAT IP地址。
如果你input
ipconfig
并查找IPv4地址,如果它以10.0..或192.168.开头192.168. 那么你使用NAT(networking地址转换)通过“私人地址”隐藏了互联网,
这里是一个NAT'ed客户端的例子,(因此可以直接从服务器连接回去(除了MadHatter提供的工作外))

在这里查看更多关于私有地址rfc 1918的信息 – https://en.wikipedia.org/wiki/Private_network
并在这里为如何检查您的Windows桌面是NAT的简要教程; http://www.youtube.com/watch?v=49tYGwBhP3Y