将文件从EC2复制到本地计算机错误:警告:身份文件file.pem无法访问:没有此类文件或目录。权限被拒绝(公钥)

时间:2018-12-28 14:37:39

标签: amazon-web-services amazon-ec2

我有一个包含文件的AWS EC2实例。我想将某些文件从EC2复制到本地计算机(mac)。

我使用file.pem在ssh中成功连接,该文件已保存到我的mac机中名为.ssh的隐藏文件夹中。

macbook:~ name$ cd /Users/name/.ssh
macbook:.ssh name$ ls
file.pem    known_hosts
macbook:.ssh name$ chmod 400 file.pem
macbook:.ssh name$ ssh ubuntu@ipEc2 -i file.pem

我使用此命令行来将文件从EC2复制到本地计算机:

ubuntu@ip-address:~$ scp -i /Users/name/.ssh/file.pem ubuntu@ec2-ip-address.eu-west-1.compute.amazonaws.com:/var/www/html/folder/file_to_copy.jpeg /Users/name/Desktop/folder

但是系统会向我发送警告消息:

Warning: Identity file /Users/name/.ssh/file.pem not accessible: No such file or directory.
Permission denied (publickey).

即使我尝试这样做:

scp -i /Users/name/.ssh/file.pem ubuntu@IP.address:/var/www/html/folder/file_to_copy.jpeg /Users/name/Desktop/folder

我有相同的警告响应。我不明白为什么,因为.ssh文件夹中存在file.pem,而我只是使用chmod 400保护我的file.pem被覆盖。

我通过互联网试图弄清楚它是从哪里来的,但是我没有找到有用的东西...

感谢您的帮助:-)

1 个答案:

答案 0 :(得分:1)

我找到了答案!

当我想将文件从AWS EC2实例复制到本地计算机(对我来说是Mac)时,我先将ssh SSH到EC2实例中...我尝试直接在本地计算机中输入命令行而不使用ssh来我的EC2可以正常工作!

1)我通过命令行连接到本地计算机:

MacBook:~ name$

2)我输入了复制命令:

scp -i /Users/name/.ssh/file.pem ubuntu@ec2-ip-address.eu-west-1.compute.amazonaws.com:/var/www/html/folder/558097BNCZ05909_heart_5.json /Users/name/Desktop/folder

我测试了第二条命令,它也起作用:

scp -i /Users/name/.ssh/file.pem ubuntu@ip.address:/var/www/html/folder/558097BNCZ05909_heart_5.json /Users/name/Desktop/folder

最终结果是:

558097BNCZ05909_heart_5.json    100%    0     0.0KB/s   00:00

它现在在我的文件夹中

希望它将对某人有所帮助:-)

@jweyrich:谢谢您的帮助;-)