如何在两个 Amazon EC2 服务器之间传输 SCP 文件?

如何在两个 Amazon EC2 服务器之间传输 SCP 文件?

我在 Amazon AWS 上,我的帐户上有两个 EC2 实例。尝试使用内部私有 IP 通过 SSH 将 rsa 密钥发送到另一个 EC2 实例。但是它不起作用。

scp -i .ssh/id_rsa.pub xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys2

我做错了什么,如何使用 ssh 将文件发送到另一个 EC2 帐户。

答案1

这里是 scp 格式:

scp -i <key> <what_to_copy> <where_to_copy>

您缺少<what_to_copy>这个示例。

还要检查目标服务器的安全组。它应该允许与源服务器的安全组或网络的连接10.0.0.0/8

答案2

这不会完全替换authorized_keys文件,因此您可以继续使用以前的访问权限登录:

cat .ssh/id_rsa.pub | ssh -i key.pem [email protected] 'cat >>.ssh/authorized_keys'

其中“USER”可能是“root”、“ec2-user”或“ubuntu”,具体取决于您正在运行的 AMI。

或者,首先使用您的个人 ssh 密钥启动您的 EC2 实例。这是我写的一篇关于此的文章:

将个人 ssh 密钥上传到 Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys

答案3

您可能正在使用实例的 10.xxx-ip。这不起作用。使用外部路径。(类似于ec2-75-102-166-16.compute-1.amazonaws.com)。或者将弹性 IP 附加到它并使用它。

答案4

我今天也遇到了同样的问题。这是我针对多个文件的脚本:

 #!/bin/bash

files=(

/var/www/test1.txt

/var/www/test2.txt

)

from="XXX"

to="YYY"

for i in "${files[@]}"

do

  scp -3 -i ~/.ssh/AAA.pem ubuntu@$from:$i ubuntu@$to:$i

done

我希望这有帮助! :)

相关内容