我有一个正在运行的EC2实例(FreeBSD 9 AMI AMI -8cce3fe5),我可以使用亚马逊创建的密钥文件ssh到它,没有密码提示,没有问题。

但是,当我想要使用scp将一个文件复制到实例中时,我被要求输入密码:

scp somefile.txt -i mykey.pem root@my.ec2.id.amazonaws.com:/

Password:

你知道为什么会发生这种情况/如何预防吗?


当前回答

scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .

文件名不能在pem文件和ec2-user字符串之间——那样不行。这还允许您保留复制文件的名称。

其他回答

我的hadoopec2cluster。Pem文件是我本地mac目录中唯一的一个文件,使用SCP -i hadoopec2cluster无法将其SCP到aws。pem hadoopec2cluster。pem ubuntu@serverip: ~。

hadoopec2cluster复制。Pem到hadoopec2cluster_2。Pem,然后SCP -i hadoopec2cluster。pem hadoopec2cluster_2。pem ubuntu@serverip: ~。瞧!

我想明白了。我把论点的顺序弄错了。如此:

scp -i mykey.pem somefile.txt root@my.ec2.id.amazonaws.com:/

在您的示例中,根用户不会有任何问题。但在某些情况下,您需要以不同的用户在SSH下登录,请确保您正在scp-ing的目录对您正在SSH-ing的用户具有足够的权限。

假设你想要发送的pem文件和somefile.txt文件在Downloads文件夹中

scp -i ~/Downloads/mykey.pem ~/Downloads/somefile.txt root@my.ec2.id.amazonaws.com:~/

如果不管用就告诉我

测试:

执行如下命令:

sudo shred -u /etc/ssh/*_key /etc/ssh/*_key.pub

然后:

创建ami (ec2的图像)。 从第2步的新ami(图像)启动,选择新键。