连接到路由器后面的家用电脑

连接到路由器后面的家用电脑

我的家庭网络设置在 NAT 路由器后面,上面有两个 Linux 机器。有时,我想从家庭网络外部通过 ssh 连接到它们,但它们都没有公共 IP 地址。您有什么建议?

目前,我已为路由器设置了动态 DNS 记录,它将所有远程连接重新路由到一台服务器。如果我确实想 ssh 到另一台服务器,我首先 ssh 到第一台服务器,然后从第一台服务器 ssh 到第二台服务器。

是否有可以通过 ssh 隧道或虚拟域等直接连接到任一服务器的选项?

答案1

您始终可以进行端口转发,并为每台机器使用单独的端口。在/etc/ssh/sshd_config“更改”行中,显示以下内容:

port 22

随心所欲。显然每台机器都不同。你可以对一台使用 22222,对另一台使用 22223。然后你可以运行,或者在 PuTTY 中更改端口。ssh -p 22222 [email protected]

更改后请务必重新启动 sshd 服务,以便它重新读取配置文件

答案2

您可以远程无需 IP 公共即可访问你的计算机的 SSH shell通过在您想要远程访问 SSH 的计算机上安装 robotito,使用桌面或智能手机(例如 Android)。

  • 这将允许您在任何地方使用 Google Talk 客户端应用程序访问 SSH。
  • 无需公共 IP 地址或特殊设置。
  • 它是免费和开源的,不再支付任何应用服务。

我编写了一个脚本(在 Raspberry Pi 上的 raspbian 操作系统上进行了测试),以便您可以轻松地在 Raspberry Pi、Debian 或 Ubuntu Box(debian 软件包分发版)上安装 robotito。这是让您的 Linux 机器可远程控制的步骤:

  1. 打开 Shell 命令或者您可以称之为终端,转到您的主文件夹,通过命令下载安装程序脚本:

    $wget https://opengateway.googlecode.com/files/robotito

  2. 然后通过输入命令运行脚本:

    $sudo ./robotito

  3. 然后,如果 robotito 使用 gtalk 帐户,则可以从 config 文件夹中编辑文件 credentials.rb ,然后按 ctrl+x 和 y 保存。默认使用 nano 编辑器。

  4. 通过命令从 robotito 文件夹运行 robotito

    $cd robotito

    $./jabbershd start

  5. 现在已完成,您可以从任何 google talk 客户端使用 ssh,请不要忘记将 robotito gtalk 帐户添加到您的 google talk 帐户,并在使用该帐户之前通过聊天进行测试。

答案3

最简单的方法是更改​​ SSH 在内部网络上监听的端口,然后将这些 IP 转发到正确的内部框。

答案4

您当然可以使用 SSH 隧道,如果您使用 OpenSSH,您可以指定

-Lsomeport:other.host.internal.ip:otherHostSSHPort

在命令行上,或者在发出

<NEWLINE>~C

然后在另一个终端

ssh localhost -p someport

相关内容