我在 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
我希望这有帮助! :)