我需要从服务器 A 复制一个文件,我只能通过首先连接到服务器 B 来访问该文件



我需要从服务器复制一个文件(~9 gigs(,我们称之为服务器B。我只能通过先连接到服务器 A 来 ssh 到服务器 B。我正在尝试使用 scp 将文件复制到我的本地计算机。我只是要使用 scp 首先将文件复制到服务器 A,然后再次复制到我的本地机器 - 不幸的是,尽管服务器 A 上只有半千兆的磁盘空间可供我使用。有没有办法直接从服务器 B 复制它?我无法使用 ssh 直接从计算机连接到服务器 B。我在 mac 上使用终端。

如果您的计算机和跳转主机(服务器 A(都运行 OpenSSH v7.3 或更高版本,则可以使用 ProxyJump 选项自动执行此操作:

scp -oProxyJump=userA@serverA userB@serverB:remoteFile localDest

这样做是打开与服务器 A 的 SSH 连接,然后通过隧道打开从本地计算机到服务器 B 的 SSH (/scp( 连接,然后通过该连接传输文件。请注意,它在连接时会要求输入两个密码:首先是服务器 A,然后是服务器 B。

您还可以通过在计算机上创建一个 ssh 配置文件 (~/.ssh/config( 并创建一个类似这样的条目来自动执行此操作:

Host serverB
ProxyJump userA@serverA

。它告诉ssh(和scp(在您请求连接到服务器B时自动执行ProxyJump。有关更多详细信息,请参阅配置文件上的 OpenSSH 文档。

如果您在两台计算机上都没有足够新的OpenSSH,但服务器A上netcat(或nc或类似的东西(可用,则您可能也可以使用ProxyCommand选项获得相同的效果。请参阅此超级用户问题。

相关内容

  • 没有找到相关文章

最新更新