如何通过 SSH 服务器连接 2 个 SSH 客户端?

如何通过 SSH 服务器连接 2 个 SSH 客户端?

你好,我想从我家里的 Windows PC 远程管理(命令行界面)Linux 机器。

我在 Linux 机器上有一个 ssh 客户端。我在家用 Windows PC 上有一个 ssh 客户端。我在运行 ssh 服务器的 VPS 上有一个登录名。我可以从 Linux 机器 ssh 到 VPS。我可以从家用 Windows PC ssh 到 VPS。

如何连接两个 ssh 客户端?有没有一种简单的方法可以在本地(在 VPS/ssh 服务器上)连接端口?

谢谢戴夫

答案1

取决于登录是否如您所述是单向的。如果是这种情况,您可以选择将远程端口转发(linbox 的 22 个端口)到 VPS 上的空闲端口(例如 22222)

LINbox> ssh -vfN -R *:22222:localhost:22 VPSuser@VPSbox

(* 为默认绑定,如有必要,您可以指定 IP)

然后你就可以从 win 登录了WINbox> ssh LINuser@VPSbox -p 22222

这有一个怪癖 - 你必须设置一个脚本来监控隧道是否仍然打开,或者可以重新启动它(因为它将要崩溃;)这可能需要一个公钥,这样你就可以在不输入密码的情况下做到这一点

通过 SSH 反向隧道转发特定端口

答案2

您需要的是使用充当中间人的机器进行反向 ssh 隧道传输。

你应该按照 rogerovo 的提示创建转发端口从 VPS(某个随机高端口)到 LinuxBox(端口 22)。但是你还需要一个SSHD 服务器在 LinuxBox 上运行。

仅拥有两个客户端是行不通的。来自 LinuxBox 的客户端无法将命令从 VPS 传回 LinuxBox。您需要 LinuxBox 上的服务器来实际接收和处理命令。

否则:破坏隧道 -> 你最好看看活着选项
第二条隧道 -> 为了简化登录,您可以添加从 Windows Box 到 VPS 的另一个隧道。

(Win 22222 -> VPS 22221 -> VPS 22222 -> LinuxBox 22)

然后您只需登录一次即可访问 Linux 机器。但是不知道如何从 Windows 进行端口转发 :/。

相关内容