SCP Port Forwarding

今天遇到这样一个问题: 我想把文件XXX通过SCP从A主机传送到C主机,但是A与C之间没有路由可通,但B主机有路由分别到A与C。我记得之前接触过Port Forwarding的概念,Google了一下,这篇文章完美解决我的需求。

步骤1: 打开一个terminal, 建立 SSH Tunnel。 选一个临时port(介于1024和32768之间, 比如8090)。 SCP使用端口22。
ssh -L 8090:<ip address of A known to B>:22 <user at B>@<address of B>

步骤2: 新开一个teminal, 执行scp, 通过127.0.0.1(localhost)的8090端口转发给A: scp -P 8090 <user at A>@127.0.0.1:/path/to/file file-name-and-path-to-be-copied

Written on 28 February 2017