繁体   English   中英

具有2个不同.pem密钥的2个服务器之间的scp命令

[英]Scp command between 2 servers with 2 different .pem keys

我想使用scp和2个不同的.pem密钥将文件夹从服务器A传输到服务器B。

这是解决该问题的最佳方法吗,它将真正起作用吗?

scp -i ~/Documents/server1.pem -r root@server1.com:~/location/to/dir -i ~/Documents/server2.pem ~/location/to/copy/to

还是我必须输入:

scp -i ~/Documents/server1.pem -r root@server1.com:~/location/to/dir -i ~/Documents/server2.pem root@server2.com:~/location/to/copy/to

我只是不确定第二个位置是否需要输入主机或仅输入位置。 非常感谢您的帮助。

首先, scp将仅接受一个-i选项,因此您的任何命令均不起作用。

接下来,您不使用-3选项。 这意味着传输将直接在server1和server2之间进行,而不会通过您的计算机。 在那种情况下,那将在server1上需要存储server2的证书。

这里已经给出一种解决方案。 如果Server1上不能直接连接到服务器2,也看到这里-3选项。

另一个解决方案是使用两个ssh进程,每个进程都有自己的-i选项。 就像是:

ssh -i ~/Documents/server1.pem root@server1.com 'tar cz -C ~/location/to/dir .' \
| ssh -i ~/Documents/server2.pem root@server2.com 'tar xz -C ~/location/to/copy/to'

笔记:

  • 这样,文件将通过您自己的计算机,例如scp-3选项
  • 您可能要先创建目标目录(在tar x之前添加mkdir -p命令)
  • 您可能需要在tar x命令中使用--no-same-owner来使文件归root而不是其原始所有者拥有

创建一个~/scp_config类的配置文件:

Host src
    HostName server1.com
    User root
    CertificateFile %d/Documents/server1.pem

Host dest
    HostName server2.com
    User root
    CertificateFile %d/Documents/server2.pem

然后跑

scp -3 -F ~/scp_config src:\~/location/to/dir dest:\~/location/to/copy/to

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM