通过 SSH 代理复制文件

通过 SSH 代理复制文件

我想从工作中的远程机器复制一些文件,但我无法直接 ssh 到该机器,

我通过 SSH 代理登录,它显示要连接的主机菜单,我选择我想要的机器,然后使用我的密码登录。

是否有办法使用 SCP 或 SSH 或其他方式将文件从远程复制到本地主机?

答案1

假设两个跳跃都使用 SSH,您可以使用端口转发在外部跳跃的 SSH 内部隧道 SSH 并直接访问内部网络。

Host MAKESOCKS.internal-network
HostName ssh-gate.internal-network
DynamicForward localhost:10022

Host *.internal-network
ProxyCommand connect -S 127.0.0.1:10022 %h %p

使用方式如下:

ssh -f -N MAKESOCKS.internal-network
ssh host.internal-network

connect命令位于connect-proxyDebian/Ubuntu 上的包中。

答案2

假设你的远程主机名为 example.com,你可以像这样设置“主” ssh 连接

ssh -Mt -S /tmp/ssh [email protected]

然后你就可以像这样将你的 scp 搭载到上面

scp -o "ControlPath /tmp/ssh" <src_file> [email protected]:/<target_file>

编辑:啊。我没有仔细阅读你的问题。你是通过单独的代理连接的。在这种情况下,另一个答案中建议的端口转发技术可能更合适。

相关内容