设置 ssh 到 URL

设置 ssh 到 URL

我已经在家里的一台计算机上启用了 ssh,因此我可以从我的主 IP 访问它。

不,我有一个域名,我可以将它转发到我的 IP。假设这个网站叫做

melikecandycoveredfrogs.com 映射到http://我的IP/

我可以跑

ssh myip 并成功连接,但当我尝试 ssh melikecandycoveredfrogs.com 时,它似乎不起作用。我已经转发了端口和所有内容。

我该如何实现这一点?http:// 是否会导致此问题?

谢谢,麻烦您了。

答案1

SSH 不是 HTTP,因此对您的网站的讨论并不相关(是的,将 http:// 传递给 ssh 会造成混淆)。

当您说“映射到”时,我不知道您的意思是:

  • melikecandycoveredfrogs.com 是指向 1.2.3.4 的 A 记录(假设 1.2.3.4 是您的 IP 地址)
  • melikecandcoveredfrogs.com 使用 META REDIRECT 将浏览器定向到http://1.2.3.4 或者
  • 你有一个指向 1.2.3.4 的 A 记录“myip”,而 melikecandcoveredfrogs.com 是一个指向“myip”记录的 CNAME[1]
  • 您正在 melikecandycoveredfrogs.com 指向的机器上执行某种 NAT 或端口转发,以便将流量引导至 myip 机器

第一个和第三个应该可以正常工作,第二个则不行(ssh 不是 http,您的 ssh 客户端无法理解 HTTP 重定向)。

第四个选项可能会起作用;如果你记得转发端口 22,并且使用了 DNAT 和 SNAT 的适当组合[1]

您能否发布“ssh -v melikecandycoveredfrogs.com”的输出(主机名/用户名/IP 已更改)以便我们了解出了什么问题?

[2] DNAT 永远是必需的。

如果从 myip 返回到连接源的返回流量在途中经过 melikecandycoveredfrogs.com,那么 melikecandycoveredfrogs.com 也有机会在返回途中执行所需的 NAT。

但是,如果流量通常不经过 melikecandycoveredfrogs.com,那么您的源计算机将最终连接到 melikecandycoveredfrogs.com 并收到来自 myip 的响应,这会使您的源计算机感到困惑,并且它只会丢弃令人困惑的数据包。

在这种情况下,melikecandycoveredfrogs.com 也需要执行 SNAT;以便 myip 认为该连接源自 melikecandycoveredfrogs.com 并将响应发送回那里;然后 melikecandycoveredfrogs.com 可以重写地址并将其发送回您的源机器。

我很确定这不是你的问题,因为 http 连接会有同样的问题,而且你提问的方式意味着 http 运行良好。

答案2

您何时设置了域?新域信息可能需要一些时间才能传播。在命令行尝试运行host melikecandycoveredfrogs.com并确保结果是 myip。如果不是,则您的域尚未传播或您尚未正确设置域。

相关内容