我如何在两台Amazon EC2服务器之间创buildSCP文件?

我在亚马逊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 

我希望这有帮助! 🙂