我是 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 密钥的启动脚本,以实现无缝重新连接。