2016-07-08 86 views
0

我有2台计算机在Linux上(Ubuntu的喜欢),都在分离的本地网络(192.168.xxx.xxx)。SSH连接到本地网络上的远程

我想通过SSH从Linux1连接到Linux2,但它没有任何公共IP。

我也有一个公共服务器(srv.domain.com) 我想这两台PC都可以连接到服务器,它将能够转发命令?

但我无法弄清楚如何做到这一点。有人已经做了类似的事情,可以向我解释。

我对所有机器的根访问

非常感谢您的帮助!

+1

你的问题不是关于编程,所以它是StackOverflow的焦点话题。尽管如此,[这个答案](http://unix.stackexchange.com/a/46271/13377)可能有助于揭示隧道是如何工作的,以及将什么与什么连接起来。 – ghoti

回答

0

最简单的方法是让防火墙/路由器允许主机之间的ssh连接。但还有另一种方式:

如果您的服务器可以达到两个客户端,你可以ssh到服务器和端口重定向到另一台机器上的SSH:

ssh -L 1234:CLIENT2:22 -l USERNAME SERVERNAME 

登录到本机后打开另一个终端窗口并输入:

ssh -l USERNAME -p 1234 localhost 
  • USERNAME应与服务器/第二 客户端上的用户名来代替。
  • 应将CLIENT2替换为 第二个客户端的ip或主机名。
  • SERVERNAME应该替换为您的 服务器的名称。

您也可以ssh到服务器上,并从那里打开另一个SSH会话。但是,这将是很容易;)


如果您的服务器无法到达客户端,你必须建立隧道倒过来:

ssh -R 1234:22 -l USERNAME SERVERNAME 

登录到本机后,打开一个终端窗口其它机器上,然后输入:

ssh -l USERNAME -p 1234 SERVERNAME 
  • USERNAME应与服务器上的用户名来替换/第二 客户端。
  • SERVERNAME应该替换为您的 服务器的名称。
相关问题