SSH 连接到本地网络上的远程

SSH connect to remote on local network

我在 linux 上有 2 台计算机(ubuntu 类似),它们都在不同的本地网络上 (192.168.xxx.xxx)。

我想通过 ssh 从 Linux1 连接到 Linux2,但它没有任何 public IP。

我还有一个 public 服务器 (srv.domain.com) 我想两台PC都可以连接到服务器并且可以转发命令??

但我不知道该怎么做。有人已经做过类似的事情并且可以向我解释一下吗?

我在所有机器上都有 root 权限

非常感谢您的帮助!!!

最简单的方法是让 firewall/router 允许主机之间的 ssh 连接。但还有另一种方式:

如果您的服务器可以访问两个客户端,您可以通过 ssh 连接到服务器并将端口重定向到另一台机器上的 ssh:

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

登录机器后打开另一个终端window并输入:

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

您也可以通过 ssh 连接到服务器并从那里打开另一个 ssh 会话。但这太容易了 ;)


如果您的服务器无法连接到客户端,您必须反过来构建隧道:

ssh -R 1234:22 -l USERNAME SERVERNAME

登录本机后,在另一台机器上打开终端window并输入:

ssh -l USERNAME -p 1234 SERVERNAME
  • USERNAME 应替换为 server/second 上的用户名 客户。
  • SERVERNAME 应替换为您的名称 服务器。