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

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

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

“没有到主机的路由”

看起来,这是因为我位于 LAN 中,没有公网 IP。所以我的问题是,我如何“告诉” ssh 该路由?我无法访问 LAN 中的其他设备,因为它不属于我。此外,我无法访问 VPS,因为它位于另一个国家/地区。

更新:此外,对我的 VPS 的 ping 命令运行正常,结果约为 300ms。

答案1

Ping 工作似乎表明您有一条通往互联网的路由。如果您使用 IP ping 您的 VPS,而使用主机名的 ssh 不起作用,请尝试使用 IP 的 ssh,因为这可能是 DNS 问题。

如果 ping 可以正常工作,则 ssh 应该也可以正常工作,除非有什么东西(防火墙或代理)阻止了端口 22 上的传出连接,或者 LAN 中的代理未配置为透明代理端口 22(可能只有 80)。如果是这种情况,您可能能够使用 ssh 定义 ssh 连接的代理设置(如果服务器允许),但如果不了解更多信息,很难指出真正的解决方案(如果有的话)。

评论后编辑:

看到端口 80 上的 telnet 可以工作,而端口 22 上却不行,那么端口 22 上的传出可能被阻止了(假设您的 VPS ssh 服务器正在工作并正在监听!)。我认为您有几种选择:

  • 与你的提供商的管理员交谈,看看他能做些什么来打开端口 22
  • 将您的 VPS ssh 服务器监听的端口更改为非阻塞端口
  • 如果可用,请使用 VPS 的控制台。通常,这是从网站访问的,并使用 java 或 ajax 将控制台直接连接到您的服务器。

无论如何,您必须使用第 3 个选项进行连接才能更改选项 2 的监听端口,除非您的 VPS 提供商可以为您执行此操作。

相关内容