如何使用连接到文件中其他位置的服务器进行多跳 ssh

如何使用连接到文件中其他位置的服务器进行多跳 ssh

我是 ubuntu 新手,我正在尝试使用文件应用程序的功能将服务器添加到我的文件位置,但必须通过另一台服务器才能访问。

我能够使用 下面红色轮廓的“连接到服务器”部分连接到服务器 A(出于隐私原因已屏蔽)。我想通过服务器 A 连接到服务器 B。这可以在这里实现吗,还是只能通过终端实现?这样复制文件会更容易一些。ssh://[email protected]

在此处输入图片描述

答案1

~/.ssh/config您可以在 Ubuntu 机器上添加以下内容:

 Host serverB-proxied
   Hostname serverB  # the real hostname of serverB
   User username     # this is the username on serverB
   ProxyCommand ssh -W %h:%p user@serverA

然后在文件中使用它作为 URL:

ssh://serverB-proxied/

(仅当 serverA 上的 sshd 没有禁用 TCP 转发时,它才会起作用。)

答案2

一种方法是使用端口转发,这将涉及一些终端的使用。如果您通过 ServerA 到 ServerB 创建隧道,如下所示:

ssh -L 127.0.0.1:222:ServerB:22 user@ServerA

解释:ssh 创建一个本地端口 222(您可以将其更改为本地主机上未使用的端口) - 并将其绑定到 127.0.0.1 - 登录 ServerA 后,所有来自 localhost:222 的流量通过 ServerA 转发到 ServerB 上的端口 22。

之后,将文件应用程序连接到 ssh://user@localhost:222

可以将其设置为带有 ssh 密钥的启动脚本,以实现无缝重新连接。

相关内容