我在使用 VPN。我通过另一台机器 ssh 到一台机器,如下所示
ssh -A -t -l bob 192.16.4.9 ssh -A -t 节点-17
我现在需要从 node-17:/tmp/something scp 一个文件。
我如何一步完成上述操作?其他节点上没有剩余空间可以先将其移动到。我应该补充一点,公钥用于在 192.168.4.9 和 node-17 之间进行身份验证
谢谢
答案1
我不确定有哪些-t
选择,但我认为你想要的是
ssh -At -o 'ProxyCommand ssh -At -l bob 192.16.4.9' node-17
然后同样的方法适用于 scp,例如
scp -o 'ProxyCommand ssh -At -l bob 192.16.4.9' file node-17:file
为了使此连接配置永久生效,这样您就不必每次都重新输入,请将以下内容放入您的 ~/.ssh/config 中:
Host node-17
ProxyCommand ssh -At -l bob 192.16.4.9
然后您需要运行ssh -At node-17
或scp file node-17:file
。
答案2
除了 SCP 之外,您还可以只保存cat
远程计算机上的文件并在本地保存输出。
ssh -A -t -l bob 192.16.4.9 ssh -A -t node-17 cat /tmp/something > /local/copy/of/something
您也可以从另一个方向使用它来将文件上传到远程机器,但是需要额外的一步,需要在命令行上进行一些创造性的引用:
ssh -A -t -l bob 192.16.4.9 'ssh -A -t node-17 "cat > /tmp/new-file"' < /local/copy/of/new-file