通过链式 SSH 连接复制文件

通过链式 SSH 连接复制文件

我正在使用远程服务器,想从服务器复制文件。使用服务器时,我需要通过 2 个步骤登录。username@A 登录服务器 A 后,我需要再次登录 ssh。 ssh username@B所以我现在在服务器 B 中。 (by uname -a) 有没有办法将服务器 B 中的文件下载到本地计算机?我尝试了 sftp 和 scp,但我不知道如何指定服务器名称。用户名@A 和用户名@B 都已测试过,但不起作用。任何建议都将不胜感激。

答案1

首先通过 A 从本地计算机启动到服务器 B 的 SSH 隧道:

$ ssh user@serverA -L2222:serverB:22

然后从另一个终端,直接 scp 到/从 B:

$ scp -P 2222 /path/to/file user@localhost:/path/to/destination

请注意,由于端口隧道,user@localhost实际上是user@serverB,因此请确保使用该远程服务器的适当用户名。

相关内容