场景:
目标: 利用scp将远程主机SERVER2上的某文件FILE拉至本地主机SERVER1上, 脚本为
#!/bin/bash
scp user2@SERVER2:/PATH_OF_FILE .
限制: 由于安全因素,SERVER2和SERVER1之间不能建立连接。另外有一远程主机SERVER3,即可以连接SERVER1,也能连接SERVER2
解决方案: 考虑使用 ssh port forwarding建立隧道,脚本为
#!/bin/bash
ssh -f -N -L 1234:SERVER2:22 user3@SERVER3
scp -P 1234 user2@localhost:/PATH_OF_FILE .
第二行语句建立一条在背景运行的ssh隧道。-f 表示在后台运行,-N 表示只建立隧道,本句并包括在远程主机执行的命令。剩下的 -L 1234:SERVER2:22 user3@SER

本文介绍了如何在无法直接连接的情况下,通过SSH port forwarding在SERVER1和SERVER2之间使用SCP传输文件。首先,通过SSH在SERVER1和SERVER3之间建立隧道,然后利用隧道通过本地的1234端口与SERVER2的22端口建立连接,从而实现文件传输。最后,文章提出了两种方法来关闭后台运行的SSH隧道进程。
最低0.47元/天 解锁文章
1204

被折叠的 条评论
为什么被折叠?



