将文件从远程复制到本地

我正在试图从10.10.10.99:/home/shantanu/复制文件到本地主机。 唯一的问题是,我需要通过10.10.10.98隧道连接这样的东西不起作用….

ssh [email protected] "ssh [email protected] cp /home/shantanu/test.txt . " 

线程“通过多跳的ssh隧道”太混乱了。

https://superuser.com/questions/96489/ssh-tunnel-via-multiple-hops

不要使用“cp”在启用了SSH的主机之间复制文件,请使用scp。 像这样的东西应该足以满足您的需求:

 ssh -f [email protected] -L 41111:10.10.10.99:22 -N scp -P 41111 shantanu@localhost:/home/shantanu/test.txt . 

应该注意的是,第一个命令创build一个隧道(只能从你的本地主机访问,但仍然),你可能要传输文件后closures。 或者让它开放,这不是一个巨大的安全风险,因为你仍然需要授权第二个主机使用它。

只需通过SSHpipe道连接本地文件到其最终目标:

 ssh [email protected] "ssh [email protected] 'cat >test.txt'" </home/shantanu/test.txt 

唯一棘手的部分可能是在目标机器上执行shellredirect所需的双引号。

(不直接相关,但是..)你也可以创build一个反向的SSH隧道。

在远程服务器上:

 ssh -fN -R 7000:localhost:22 username@yourMachine-ipaddress 

现在在端口7000上执行从您的机器到您自己的机器的ssh连接请求:

 ssh username@localhost -p 7000