![如何通过 SSH 服务器连接 2 个 SSH 客户端?](https://linux22.com/image/1412697/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20SSH%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%9E%E6%8E%A5%202%20%E4%B8%AA%20SSH%20%E5%AE%A2%E6%88%B7%E7%AB%AF%EF%BC%9F.png)
你好,我想从我家里的 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
这有一个怪癖 - 你必须设置一个脚本来监控隧道是否仍然打开,或者可以重新启动它(因为它将要崩溃;)这可能需要一个公钥,这样你就可以在不输入密码的情况下做到这一点
答案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 进行端口转发 :/。