如何通过 SSH/SFTP 通过网关系统将文件从本地系统传输到另一个系统(反之亦然)?

如何通过 SSH/SFTP 通过网关系统将文件从本地系统传输到另一个系统(反之亦然)?

我有以下情况,

(1) local machine↔︎ (2) cluster gateway↔︎(3) cluster machine

我想将文件从我的 (1) 传输到 (3),反之亦然。不过,无法直接从 (1) ssh 进入 (3),我只能从 (2) 内到达 (3)。目前,我首先通过 sftp 将文件从(1)传输到(2),然后从(2)传输到(3)。这是相当麻烦的,特别是因为我在(2)上的存储空间非常有限。

我发现答案很可能是 ssh 隧道。但我不确定这是否确实是这样做的方法,我也不知道如何设置或使用它。

我不是IT人,这些事情有时我很难看透。特别是对于 ssh 和 ssh 密钥,我要小心并确保我知道我在做什么。

有人可能有一些见解吗?感谢帮助!

答案1

如果您有最新的 OpenSSH (8.0)本地,您可以使用-J(跳转)开关:

scp -J user@intermediate /local/path/file.txt user@target:/remote/path/

对于旧版本(但至少 7.3),您可以使用ProxyJump指示:

scp -o ProxyJump=user@intermediate /local/path/file.txt user@target:/remote/path

还有其他选项,例如ProxyCommand端口转发,您甚至可以在旧版本的 OpenSSH 上使用它们。这些内容涵盖在OpenSSH 支持多跳登录吗?


如需下载,请参阅如何从只能通过 SSH 连接到另一台主机的主机下载文件?

相关内容