使用Jump Host的问题

如何将文件从本地机器传输到需要通过跳转主机访问的远程主机? 这些是我遵循连接到远程主机的步骤

1. ssh myname@jump-host 2. enter password 3. sudo su - another-random-name 4. ssh name@remote-host 

现在我想将文件从本地机器传输到远程主机。 我将如何实现这一目标? 我已经尝试过scp -oProxyCommand,但是我不知道我应该在哪里包含第3步作为这个命令的一部分?

Solutions Collecting From Web of "使用Jump Host的问题"

在另一个随机名运行下的跳转主机上

 ssh -L 2222:remote-host:22 myname@jump-host 

然后在本地计算机上运行

 scp -P 2222 file name@jump-host: 

SCP将尝试连接到jump-host ,而实际上这个连接将被转发到跳转主机。 并使用name因为它正在连接到远程主机。 您可能仍然面临另一个随机用户的证书问题。 您可以在您的机器上为您的本地用户创建证书,并将公钥放在用户允许的密钥中的远程主机上。

使用端口转发获得您的本地主机上的第三个主机SSH端口,这样:

 ssh -L 2222:remote-host:22 myname@jump-host 

然后(在第一个主机上的另一个选项卡/外壳上):

 scp -P 2222 file myname@localhost: 

将直接复制到远程主机。