如何在Linux环境下Python脚本中通过嵌套连接使用SCP跨主机复制文件
通过跳板机(HOST_1)从HOST_2复制文件到本地的SCP命令
针对你的网络拓扑(本地→HOST_1→HOST_2),有两种常用的SCP命令实现文件拉取:
方法1:使用ProxyJump(适用于OpenSSH 7.3及以上版本)
该方式语法简洁,直接指定跳板机即可:
scp -J [host1_user@]172.254.2.20 [host2_user@]196.20.0.2:/var/tmp/my.log /home/user1/my.log
- 把
host1_user和host2_user替换为HOST_1、HOST_2对应的实际用户名,若两台主机用户名相同,可省略其中一个; - 若需指定SSH端口,比如HOST_1用2222端口,可写成
172.254.2.20:2222。
方法2:使用ProxyCommand(兼容低版本OpenSSH)
该方式通过代理命令建立隧道连接:
scp -o ProxyCommand="ssh -W %h:%p [host1_user@]172.254.2.20" [host2_user@]196.20.0.2:/var/tmp/my.log /home/user1/my.log
- 同样替换
host1_user和host2_user为实际用户名; - 如需指定HOST_1的SSH端口,在
ssh后加-p 端口号,比如ssh -p 2222 -W %h:%p host1_user@172.254.2.20。
内容的提问来源于stack exchange,提问作者mike_aze
相关产品推荐
相关产品推荐

