我试图使用我的Mac终端scp一个文件从下载(phpMyAdmin我下载在线)到我的亚马逊EC2实例。

我使用的命令是:

scp -i myAmazonKey.pem phpMyAdmin-3.4.5-all-languages.tar.gz  hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.

我得到的错误是: 警告:身份文件myAmazonKey。pem not accessible:表示没有这样的文件或目录。 权限被拒绝(公钥)。 失去联系

都是我的亚马逊钥匙。pem和phpMyAdmin-3.4.5-all-languages.tar.gz都在下载中,所以我尝试了

scp -i /Users/Hello_Kitty22/Downloads/myAmazonKey.pem /Users/Hello_Kitty22/Downloads/phpMyAdmin-3.4.5-all-languages.tar.gz  hk22@mec2-50-17-16-67.compute-1.amazonaws.com:~/.

我得到的错误是: 警告:身份文件/User/Hello_Kitty22/Downloads/myAmazonkey。pem not accessible:表示没有这样的文件或目录。 权限被拒绝(公钥)。 失去联系

有人能告诉我怎么解决我的问题吗?

附注:有一个类似的帖子:SCP(安全副本)到ec2实例,没有密码 但这并没有回答我的问题。


当前回答

我也有同样的问题,我的解决办法是

SCP -i /path/pem -r /path/file/ ec2-user@public aws DNS名称:(此处不填写)

一旦你完成了这一部分,进入SSH服务器和mv文件到所需的位置

其他回答

从本地发送文件到服务器:

SCP -i .ssh/awsinstance. xmlpem my_local_file ubuntu@XX.XXX.XXX.XXX: / home / ubuntu

从服务器下载文件到本地:

SCP -i .ssh/awsinstance.pem ubuntu@XX.XXX.XXX.XXX: / home / ubuntu / server_file。

检查.pem文件的权限…Openssh通常不喜欢世界可读的私钥,并且会失败(iir, SCP在向用户提供这种反馈方面做得不好)。

您可以简单地用该密钥ssh到AWS主机吗?

这对我很管用。我用了另外两个答案的组合来回答这个问题。

scp -i /Users/me/documents/myKP.pem -r /Users/me/desktop/testDir \
       ec2-user@ec2-11-111-11-11.compute-1.amazonaws.com:/home/ec2-user/remoteDir

“ec2-user@ec2-11-111-11-11.compute-1.amazonaws.com”是从ec2实例的公共DNS复制粘贴过来的。

我也有同样的问题,我的解决办法是

SCP -i /path/pem -r /path/file/ ec2-user@public aws DNS名称:(此处不填写)

一旦你完成了这一部分,进入SSH服务器和mv文件到所需的位置

以下SCP格式适合我

scp -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/SampleFile.txt ~/SampleFile2.txt

SampleFile.txt:它将是根目录的路径(在我的例子中,是/home/ubuntu)。在我的情况下,我想下载的文件是在/var/www

它将是你的机器的根路径(在我的例子中,/home/MyPCUserName)

所以,我必须写下面的命令

scp -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/../../var/www/Filename.zip ~/Downloads