使用 jumphost 从 Linux 到 Windows 机器的 scp
Scp from Linux to Windows machine using jumphost
下面的命令正在运行,我可以使用 .pub 文件从 jumphost 下载文件到我在 Windows 机器上的当前目录
scp -r -i user_202201281017.pub user@jumphost_ip_address:/home/user/check-job-status.sh .
截至目前,我正在使用 sftp
将文件复制到 jumphost 服务器,然后对我的 Windows 机器执行 scp
。我想绕过 jumphost 并想使用第二跳将文件传输到 Windows 机器,如下命令
scp -r -i user_202201281017.pub user@jumphost_ip_address,user@file_present_at_original_server:/home/user/check-job-status.sh .
错误:
ssh: connect to host file_present_at_original_server port 22:
Connection timed out
如果您有 OpenSSH 8.0 及更新版本,您可以使用 -J
(jump) switch:
scp -r -i user_202201281017.pub -J user@jumphost_ip_address user@file_present_at_original_server:/home/user/check-job-status.sh .
对于旧版本,但至少是 7.3,使用 ProxyJump
指令:
scp ... -o ProxyJump=user@jumphost_ip_address
有关更多选项,请参阅 Does OpenSSH support multihop login?
使用 Windows 构建的 OpenSSH (Win32-OpenSSH),在任何情况下您都需要 the latest version,因为早期版本已经破坏了对跳转主机的支持。他们失败了:
CreateProcessW failed error:2 posix_spawn: No such file or directory
下面的命令正在运行,我可以使用 .pub 文件从 jumphost 下载文件到我在 Windows 机器上的当前目录
scp -r -i user_202201281017.pub user@jumphost_ip_address:/home/user/check-job-status.sh .
截至目前,我正在使用 sftp
将文件复制到 jumphost 服务器,然后对我的 Windows 机器执行 scp
。我想绕过 jumphost 并想使用第二跳将文件传输到 Windows 机器,如下命令
scp -r -i user_202201281017.pub user@jumphost_ip_address,user@file_present_at_original_server:/home/user/check-job-status.sh .
错误:
ssh: connect to host file_present_at_original_server port 22: Connection timed out
如果您有 OpenSSH 8.0 及更新版本,您可以使用 -J
(jump) switch:
scp -r -i user_202201281017.pub -J user@jumphost_ip_address user@file_present_at_original_server:/home/user/check-job-status.sh .
对于旧版本,但至少是 7.3,使用 ProxyJump
指令:
scp ... -o ProxyJump=user@jumphost_ip_address
有关更多选项,请参阅 Does OpenSSH support multihop login?
使用 Windows 构建的 OpenSSH (Win32-OpenSSH),在任何情况下您都需要 the latest version,因为早期版本已经破坏了对跳转主机的支持。他们失败了:
CreateProcessW failed error:2 posix_spawn: No such file or directory