2012-03-01 67 views
0

我将物理发送一个Linux上网本到远程站点,它将连接到互联网。我不知道公共IP地址。远程登录到Linux系统,IP未知

我需要能够安全地登录到系统。什么是最好的方法来做到这一点?我想它需要以某种方式广播一个ID(dyndns?free options?)。这一切都需要在发送之前进行预配置。

我很乐意自己研究,但我会很感激某人可以指引我走向正确的方向。

问候,

更新 - 我只需要控制台访问,这是Ubuntu的

+0

有许多针对Linux的远程桌面解决方案: http://www.mynitor.com/2010/02/07/15-remote-desktop-solutions-for-linux/ – vulkanino 2012-03-01 11:24:08

+0

上网本可能位于NAT防火墙网络,因此您可能无法从您的位置触及它。也许你可以在上网本的init脚本中启动一个'ssh'隧道? – 2012-03-01 11:26:15

+0

哪个linux发行版在那里? – vulkanino 2012-03-01 11:26:41

回答

1

因为系统可以是NAT或防火墙的后面,有没有办法可以保证任何连接。即使您知道其公有IP地址,您也不可能从外部启动与该盒子的连接。

所以下一个最好的事情是让盒子本身启动一个或多个已知服务器的连接。传出连接可以穿越任何防火墙,并且对穿越NAT非常重要。

为了使这项工作,你需要一个服务器的一些进程监听固定地址和端口上的连接,并准备将你的ssh会话转发到任何这样的连接。盒子本身需要周期性地尝试与该服务器的传出连接,或许每小时一次。

最简单的方法是使用/etc/rc.init脚本(或任何与您特定的linux发行版相同的脚本),它定期尝试建立一个ssh隧道。它看起来是这样的:

ssh -i remotekey.pem -R 33333:localhost:22 [email protected] 

此使用“remotekey.pem”您的服务器上假定你已经设置“用户”为基于密钥登录。 然后从你的服务器,你会登录到使用

ssh -p 33333 [email protected] 

这是假设遥控盒“boxuser”就在你的远程机器的有效用户。