我在亚马逊AWS上,我的帐户上有两个EC2实例。 尝试通过SSH将rsa密钥发送到使用内部专用IP的另一个EC2实例。 但它不工作。
scp -i .ssh/id_rsa.pub xxx.xxx.xxx.xxx:/root/.ssh/authorized_keys2
我在做什么错了,我如何发送文件到另一个EC2帐户与SSH。
这里的scp格式是:
scp -i <key> <what_to_copy> <where_to_copy>
您在示例中缺less<what_to_copy> 。
同时检查目标服务器的安全组。 它应该允许连接源服务器的安全组或来自10.0.0.0/8networking的连接。
这不会完全替代authorized_keys文件,因此您可以继续使用以前的访问权限login:
cat .ssh/id_rsa.pub | ssh -i key.pem USER@xxxx 'cat >>.ssh/authorized_keys'
其中“USER”可能是“root”,“ec2-user”或“ubuntu”,取决于您正在运行的AMI。
或者,首先使用个人SSH密钥启动EC2实例。 这是我写的一篇文章:
将个人ssh密钥上传到Amazon EC2
http://alestic.com/2010/10/ec2-ssh-keys
您可能正在使用实例的10.xxx-ip。 这是行不通的。 使用外部path。 (像ec2-75-102-166-16.compute-1.amazonaws.com )。 或者附上一个弹性的IP,并使用它。
我已经将密钥移至~/.ssh然后使用以下命令创build~/.ssh/config (或附加到该文件)文件:
IdentityFile ~/.ssh/key.pem
这将让你ssh和scp没有指定的关键位置。
今天我也有同样的问题。 这是我的一些文件的脚本:
#!/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
我希望这有帮助! 🙂