我经常通过 SSH 连接到集群节点进行工作,并且在处理后想要将几个结果拉回我的本地机器进行分析。通常,为此我使用本地 shell 从服务器 scp,但这需要大量的路径操作。我更喜欢使用像交互式 FTP 这样的语法,并且只是将文件从服务器“拉”到我的本地密码。
另一种可能的解决方案可能是通过某种方式将我的客户端计算机自动设置为 ssh 别名,以便类似
scp results home:~/results
Run Code Online (Sandbox Code Playgroud)
会按预期工作。
有没有什么晦涩的 SSH 技巧可以为我做到这一点?
从grawity的答案开始,配置文件中的完整解决方案类似于
本地 .ssh/配置:
Host ex
HostName ssh.example.com
RemoteForward 10101 localhost:22
Run Code Online (Sandbox Code Playgroud)
ssh.example.com .ssh/配置:
Host home
HostName localhost
Port 10101
Run Code Online (Sandbox Code Playgroud)
这让我可以执行完全一样的命令
scp results home:
Run Code Online (Sandbox Code Playgroud)
将文件结果传输到我的家用机器上。