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

标签 linux ssh tunneling

<分区>

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

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

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

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

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

非常感谢您的帮助!!!

最佳答案

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

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

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

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

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

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


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

ssh -R 1234:22 -l USERNAME SERVERNAME

登录 native 后在另一台机器上打开终端窗口并输入:

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

关于linux - SSH 连接到本地网络上的远程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38260854/

相关文章:

networking - 使用腻子进行端口转发(隧道)

linux - 我们可以连接到远程网络中本地系统的数据库吗?

shell - jenkins 上的交互式 shell 脚本

ssh - Amazon EC2 Root 登录

c - 通过无线连接的两台计算机之间的信息交换

networking - 如何通过 SOCKS 代理发送 UDP 数据包

regex - 如何查找特定字符串并将其作为同一文件中新查找的条目

linux - 网络实验室的配置

python - 需要帮助将小型 python 脚本从 Windows 转换为 Linux

windows - SSL 内部的 SSH 隧道