在没有静态IP地址的情况下将SSH安装到Ubuntu Linux上

基本上,我该怎么做呢?

我想连接到我的家庭计算机,但我的互联网是通过我的公寓大楼的networking路由,所以我没有我习惯的静态IP地址。

我如何通过SSH访问我的家庭计算机(如果重要,我将在工作中使用Putty)如果我的家庭计算机没有静态IP地址?

我想你可能想看看一个服务,可以为您的家庭电脑提供一个DNS域名。 以下是我多年来取得巨大成功的一个例子: DynDNS.com

基本上,他们使用在您的计算机上运行的服务,只要您的家用电脑/路由器的IP地址发生变化就会更新DNSlogging。

在您的局域网内,设置您的路由器将所需的端口转发到本地计算机的IP /主机。 然后获取DynDNS服务获取您的路由器的主机名。 如果路由器的外部IP是dynamic的,则在分配新地址时使用ddclient自动更新。

你无法进​​入你的电脑,因为你在某种NAT系统之后。 换句话说,您的计算机位于一个私人的内部networking上,并且在他们的控制下通过该build筑物的NAT设备进行NAT,因此从这个意义上说,没有简单的方法可以重新进入。

一种方法是创build一个从您的工作站启动的反向SSH隧道,通过Internet出站,注定要从家里连接到一个ssh守护进程。

一旦build立,你就可以ssh到localhost,你可以通过反向隧道从你连接的ssh主机上build立反向隧道(这个反向隧道将通过反向隧道redirect到你的系统)。

希望这可以帮助?

之后,您可能需要考虑编写一个cronjob的小脚本来保持这个连接的活动,在断开连接时重新连接等,并正确使用ssh-agent进行无密码连接 – 如果设置正确,密码将只需要设置一次(如果)。

解决这个问题的最快最简单的解决scheme,通过将robotito安装到您希望远程访问SSH的计算机上,从桌面或仅通过智能手机(例如Android) 访问SSH Shell到您的计算机 。

  • 这将允许您在任何地方使用Google Talk客户端应用程序访问SSH。
  • 不需要公共IP地址或特殊设置。
  • 我的免费和开源,不支付任何应用程序服务了。
  • 无需打开SSH端口(保存您的计算机)
  • 不需要打开任何隧道(例如VPN或类似的东西)

我做了一个脚本(在Raspberry Pi的raspbian操作系统上testing过),所以你可以在Raspberry Pi,Debian或Ubuntu Box(debian软件包发行版)上轻松安装robotito。 这是让你的Linux机器远程的步骤:

  1. 打开Shell命令或者你可以调用它terminal,转到你的主文件夹,通过命令下载安装脚本:

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

  2. 之后通过input命令运行脚本:

    $sudo ./robotito

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

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

    $cd robotito

    $./jabbershd start

  5. 现在这样做了,你可以使用任何谷歌谈话客户端的SSH,不要忘记添加robotito GTalk帐户到您的谷歌谈话帐户,并使用该帐户之前互相聊天testing它。

你可以尝试使用像STUN或其他NAT穿通工具。

您可能会发现使用诸如hamachi或其他零configurationvpn解决scheme的服务更容易。 join两台机器到同一个vpnnetworking,并ssh到它的hamachi IP。