SCP 版本 - ssh -A -t -l root 192.16.4.9 ssh -A -t node-17

SCP 版本 - ssh -A -t -l root 192.16.4.9 ssh -A -t node-17

我在使用 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-17scp 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

相关内容