Amazon ec2 使用scp将文件复制到Amazon EC2实例?

Amazon ec2 使用scp将文件复制到Amazon EC2实例?,amazon-ec2,terminal,copy,scp,public-key,Amazon Ec2,Terminal,Copy,Scp,Public Key,我正在尝试使用我的Mac终端将下载文件(我在线下载的phpMyAdmin)scp到我的Amazon 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不可访问:没有此类文件或目录。 权限被拒绝(公钥)。 断开连接 我的myAmazo

我正在尝试使用我的Mac终端将下载文件(我在线下载的phpMyAdmin)scp到我的Amazon 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不可访问:没有此类文件或目录。 权限被拒绝(公钥)。 断开连接

我的myAmazonkey.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不可访问:没有此类文件或目录。 权限被拒绝(公钥)。 断开连接

谁能告诉我如何解决我的问题吗

p、 美国也有类似的职位:
但它没有回答我的问题

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


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

您应该在本地计算机上尝试上述scp命令

在本地计算机上尝试:

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


scp-i“指向.pem文件的路径”“要从本地计算机复制的文件”username@amazoninstance:“要在远程计算机上复制文件的目标文件夹”
请尝试将用户指定为
ec2用户,例如

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

请参阅。

第二个目录是您的目标目标,不要在那里使用服务器名称。换句话说,您不需要提及当前所在机器的机器名

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

-r如果它是目录。

您的密钥不能公开查看,SSH才能工作。如果需要,请使用此命令:

chmod 400 yourPublicKeyFile.pem

首先,您应该将
.pem
文件的模式从读写模式更改为只读模式。这只需在terminal
sudo chmod 400中的一个命令就可以完成。pem

我遇到了完全相同的问题,我的解决方案是

scp-i/path/pem-r/path/file/ec2-user@publicaws dns名称:
(此处留空)


完成这一部分后,进入ssh服务器并将mv文件发送到所需的位置

我尝试了上面提到的所有建议,但没有任何效果。我终止了当前实例,启动了另一个实例,并重复了同样的过程。这次没问题。有时这可能是远程ami的错

中逐步介绍了使用SCP将文件从本地计算机复制到AWS EC2 Linux实例的过程(包括下面提到的要点)

要使用SCP纠正此特定问题,请执行以下操作:

  • 您需要指定正确的Linux用户。发件人:

    • 对于AmazonLinux,用户名是EC2user
    • 对于RHEL,用户名是ec2 user或root
    • 对于Ubuntu,用户名是Ubuntu或root
    • 对于Centos,用户名为Centos
    • 对于Fedora,用户名是ec2 user
    • 对于SUSE,用户名为ec2 user或root
    • 否则,如果ec2用户和根用户不工作,请与您的AMI提供商联系
  • 您的私钥不能公开可见。运行以下命令,以便只有root用户可以读取该文件

    chmod 400 /path/to/yourKeyFile.pem
    

  • 以下是适用于EC2实例的详细信息:

    scp -i /path/to/whatever.pem /users/me/path-to-file ec2-user@ec2-55-55-555-555.compute-1.amazonaws.com:~
    
    开始时的几个注意事项:

  • 注意
    -i
  • scp
    代表安全复制协议。知道这些单词可以更容易地记住命令
  • -i
    指示您需要将
    .pem
    文件作为下一个参数。如果没有
    -i
    ,则不需要
    .pem
  • 注意EC2实例的目标末尾的
    :~

    下面的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

    SampleFile2.txt:它将是计算机根路径的路径(在我的例子中为/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
    

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

    scp-i.ssh/awsinstance.pem my_local_文件 ubuntu@XX.XXX.XXX.XXX:/home/ubuntu

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

    scp-i.ssh/awsinstance.pem ubuntu@XX.XXX.XXX.XXX:/home/ubuntu/server\u文件


    这对我来说很有效。我结合了其他两个答案来回答这个问题

    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推荐

    将文件从本地服务器发送到远程服务器

    sudo scp-i../Downloads/new_bb_key.pem./dump.zipubuntu@13.127.124.129:~/

    将文件从远程服务器发送到本地


    sudo scp-i~/下载/new_bb_key.pemubuntu@13.127.124.129:/home/ubuntu/LatestDBdump.zip Downloads/

    我觉得当我在线启动我的Amazon实例时,我再也无法在下载中访问我的本地文件了。是的,我可以使用该密钥ssh到我的AWS主机。事实上,我遇到的问题是,我在Amazon主机上(通过ssh),所以当我制作cd时,我只能看到Amazon服务器上的文件,而不能看到保存pem文件的本地Mac下载目录。当我退出ec2主机时,我只能将cd刻录到本地Mac下载目录。但是如果我退出到我的ec2主机,我就无法将文件phpMyAdmin上传到我的ec2服务器。我的pem的许可是400,我想那很好。非常感谢你的帮助,我通过你问的最后一个问题发现了我的问题。似乎我可以选择ssh或scp,而不是两个在一起。谢谢你的提示hellokitty22。我打开了两个终端,一个用于ssh
    scp -i /path/my-key-pair.pem ec2-user@ec2-198-51-100-1.compute-1.amazonaws.com:~/../../var/www/Filename.zip ~/Downloads