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

m33*_*3bo 5 unix linux bash command-line scp

我想使用 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
Run Code Online (Sandbox Code Playgroud)

或者我必须输入:

scp -i ~/Documents/server1.pem -r root@server1.com:~/location/to/dir -i ~/Documents/server2.pem root@server2.com:~/location/to/copy/to
Run Code Online (Sandbox Code Playgroud)

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

che*_*ner 4

创建一个配置文件,例如~/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
Run Code Online (Sandbox Code Playgroud)

然后运行

scp -3 -F ~/scp_config src:\~/location/to/dir dest:\~/location/to/copy/to
Run Code Online (Sandbox Code Playgroud)

  • `CertificateFile` 指令对我不起作用。我不得不使用“IdentityFile”来代替。 (3认同)