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

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

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

Password:

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


当前回答

编写以下代码

scp -r -o "ForwardAgent=yes" /Users/pengge/11.vim root@192.168.2.228:/root/

如果您有访问目标服务器的SSH密钥,而源服务器没有,添加-o "ForwardAgent=yes"将允许您将SSH代理转发到源服务器,以便它可以使用您的SSH密钥连接到目标服务器。

其他回答

我的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 kp1.pem ./file.txt ec2-user@1.2.3.4:/home/ec2-user

我使用下面的命令从本地linux Centos 7复制到AWS EC2。

scp -i user_key.pem file.txt ec2-user@my.ec2.id.amazonaws.com:/home/ec2-user
scp -i ~/.ssh/key.pem ec2-user@ip:/home/ec2-user/file-to-copy.txt .

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

scp -i /path/to/your/.pemkey -r /copy/from/path user@server:/copy/to/path