在同一区域中的两个EC2实例之间传输文件

时间:2014-08-20 12:05:27

标签: amazon-web-services amazon-ec2 scp ubuntu-14.04

我有两个运行Ubuntu 14.04的EC2实例,我需要弄清楚如何将文件从一个传输到另一个。我阅读了亚马逊的常见问题解答,并说如果我使用私有IP,我可以这样做,而不会产生任何额外费用,但我不知道如何使用它来传输文件。

现在我使用scp协议来执行此操作 -

scp -i ~/Path-To-Key-File/AAA.gem /path/file  ec2-user@<Elastic IP>:/path/file

我尝试用私有IP替换弹性IP,但它不起作用。我在这里做错了吗?

5 个答案:

答案 0 :(得分:33)

实际上,我想通了......我只需要用私有IP替换弹性IP并正确配置安全组以允许实例进行通信!

从机器A转移到机器B

我在机器A上运行此代码

scp -i ~/Path-To-Key-File/AAA.pem /path/file  ec2-user@<Private IP of Machine B>:/path/file

对于安全组,我必须通过私有IP(来自机器B)允许SSH协议!!

答案 1 :(得分:14)

假设您的两个实例都是EC2 linux实例。

假设您要将文件从第二个实例(ec2-2)传输到第一个实例(ec2-1),该命令应该在ec2-1中运行:

scp -i  /Path-To-Key-File-for-ec2-2/key.pem  ec2-user@Elastic-IP-of-ec2-2:/path/filename your/local-path-on-ec2-1/filename

您可以找到相应的讨论here

希望这有帮助!!

答案 2 :(得分:1)

询问有关使用.pem文件进行身份验证的问题。但是在某些情况下,不使用auth进行访问可能会有所帮助。在这里,您将改为授权另一台计算机。

说,您喜欢sshscp从计算机1到计算机2。

在计算机1中

  • 检查USER_HOME / .ssh /中是否存在公共密钥文件(id_rsa.pub)。如果不是,请使用ssh-keygen -t rsa命令生成它。

在机器2中

  • RSAAuthentication yes中取消注释/etc/ssh/sshd_config
  • 打开文件USER_HOME/.ssh/authorized_keys,并从计算机1附加id_rsa.pub文件的内容。

您完成了。享受!!!

有关详细信息,请检查here

答案 3 :(得分:0)

scp -i /home/centos/b1.pem centos @ ip:/etc/httpd/conf/httpd.conf httpd.conf.j2

答案 4 :(得分:0)

将数据从本地复制到ec2,将一个ec2复制到另一个(如果您是内部源ec2)

<input>