这出现了惊人的频率:
我通过SSH在服务器或其他机器上。 我想scp或rsync一些文件回到我的客户机。 问题是我在防火墙后面,而且没有将端口映射到我的机器上的端口22。
如果我可以以某种方式将我连接的机器从scp或rsync命令中别名化,那就太好了:
scp fileToBeTransferred LOCALMACHINE:~/temp/
我目前的过程是从我的本地机器发出命令(不是在一个SSH会话)。 如果能够从服务器发出scp命令,速度会更快,因为我已经在正确的目录中,可以使用文件完成function,并且我的凭证已经过validation。
我的客户端机器几乎总是一个运行山狮的Mac,如果这有所作为。
你可以通过一个到你本地的ssh端口的反向隧道来达到这个目的
当连接到远程机器时,使用-R选项添加反向隧道:
ssh -R 10000:127.0.0.1:22 remoteuser@remotemachine
现在,远程端口10000被映射到您的本地端口22,您可以从远程会话传输文件:
scp -P 10000 yourfile [email protected]:/path/to/target/