如何通过另一台服务器使用 scp 复制文件

如何通过另一台服务器使用 scp 复制文件

我有三台机器。本地机器L,Server1 A,Server2 B。L
能够连接到A
A能够连接到B
L不是可以连接到B

我想将文件从 L 复制到 B,而不需要采取额外的步骤登录 A 来复制数据。

scp可以吗?如果是,怎么办?

答案1

L不是能够连接到B,但是B能够连接到L吗?你没有说,但我会假设没有。

如果 A 是 B 和 L 之间通信的唯一方式,那么您肯定必须在某个时候登录 A。而且,数据将以一种或另一种方式流经 A(如果 A 的连接速度较慢,这一点可能很重要)。

您可以通过多种不同方式通过 A 建立 SSH 隧道,从 L 到达 B。例如:

# From L
ssh -L 2222:B:22 -Nf A

现在在L上添加以下配置,~/.ssh/config以方便通过隧道连接到B:

Host B
    HostName localhost
    HostKeyAlias B
    Port 2222

然后就可以通过隧道连接到B:

scp file B:

还有其他用于设置此隧道的选项,包括在后台自动建立隧道的工具。

相关内容