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 应替换为您的名称
服务器。
我在 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 应替换为您的名称 服务器。