通过ssh连接到另一个子网的机器

我想通过ssh连接到我的VPS。 ssh的输出如下:

“没有到主机的路由”

看来,这是因为我位于一个局域网,没有公共IP。 所以,我的问题是,我怎么能“告诉”ssh的路线? 我没有访问我局域网的其他设备,因为它不是我的。 另外,我无法使用VPS,因为它在另一个国家。

更新:另外,我的VPS的ping命令工作完美,并给出了约300ms的结果。

平安工作似乎表明你有一个互联网的路线。 如果您正在使用ping命令使用IP来login您的VPS,而使用主机名的ssh无法正常使用,请尝试使用带有IP的ssh,因为这可能是DNS问题。

如果ping与您的VPS的公共主机名一起工作,ssh应该工作相同,除非在端口22有阻塞传出连接的东西(防火墙或代理),或者LAN中没有代理configuration为透明地代理端口22(仅80大概)。 如果是这种情况,你可能可以使用ssh定义ssh连接的代理设置(如果服务器允许的话),但是不知道更多的信息并不容易指出真正的解决scheme。

编辑意见后:

看到端口80上的telnet工作,而不是端口22上,传出可能被阻塞在端口22上(假设你的VPS ssh服务器正在工作和监听!)。 我想你有几个select:

  • 与您的提供商的pipe理员交谈,看看他能做些什么来打开端口22
  • 更改您的VPS SSH服务器正在监听一个非阻塞端口的端口
  • 如果可用,请使用VPS的控制台。 通常这是从网站访问和一个Java或Ajax连接控制台直接到您的服务器。

无论如何,你必须连接使用第三个选项才能够改变选项2的监听端口,除非你可以让你的VPS提供商为你做这个。