Amazon ec2 使用scp将文件传输到amazon ec2实例时,我的权限总是被拒绝(publickey、gssapi和mic)

Amazon ec2 使用scp将文件传输到amazon ec2实例时,我的权限总是被拒绝(publickey、gssapi和mic),amazon-ec2,scp,private-key,permission-denied,Amazon Ec2,Scp,Private Key,Permission Denied,我正在尝试将文件传输到ec2实例。我遵循了Amazon的文档,我的命令是这样的: scp -i [the key's location] Documents/[the file's location] ec2-user@[public dns]:[home/[destination]] 在我用适当的东西替换所有变量的地方,我确信它是正确的键,并且它具有400权限。当我调用该命令时,它会告诉我RSA密钥指纹,询问我是否要继续连接。我输入yes,它会用 Permission denied (pub

我正在尝试将文件传输到ec2实例。我遵循了Amazon的文档,我的命令是这样的:

scp -i [the key's location] Documents/[the file's location] ec2-user@[public dns]:[home/[destination]]
在我用适当的东西替换所有变量的地方,我确信它是正确的键,并且它具有400权限。当我调用该命令时,它会告诉我RSA密钥指纹,询问我是否要继续连接。我输入yes,它会用

Permission denied (publickey,gssapi-with-mic)
lost connection
我已经研究了许多关于堆栈溢出的类似问题,但找不到正确的方法


此外,在端口22上启用了ssh通信。

amazon提供的示例是正确的。听起来像是文件夹权限问题。如果您是与其他用户或其他用户创建了要复制到的文件夹,则很可能您没有复制或编辑该文件夹的权限

如果你有sudo能力,你可以尝试为自己打开访问权限。虽然不建议这样做,但您可以尝试以下命令:

sudo chmod 777 /folderlocation
这将为任何人提供完整的读/写/可执行权限(因此,您不应将其保留在777),但这将使您有机会测试scp命令以排除权限

之后,如果您不熟悉权限,我建议您仔细阅读。这是一个例子:通常建议您根据文件夹中保存的信息类型尽可能多地锁定文件夹

如果这不是原因,您可能需要检查其他一些事项:

  • 执行'scp-i keyname'命令时,您是否在密钥目录中
  • 您是否具有使用要从中传输的文件夹的权限

祝你好运

可能是用户使用了错误的用户名。发生在我身上的是相同的错误msg->权限被拒绝(publickey、gssapi-keyex、gssapi-with-mic)。
连接中断

问题可能是用户名。我将一个文件复制到我的Amazon实例,并首先尝试使用以下命令:

scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test ec2-user@ec2-xx-yy-zz-tt.compute-1.amazonaws.com:~
并得到错误:权限被拒绝(公钥)

然后我意识到我的实例是一个Ubuntu环境,用户是“Ubuntu”。对我有效的正确命令是:

scp -r -i ../.ssh/Amazon_server_key_pair.pem ./empty.test ubuntu@ec2-xx-yy-zz-tt.us-west-2.compute.amazonaws.com:~

文件“empty.test”是一个包含文本“testing…”的文本文件。将虚拟服务器的地址替换为实例公共DNS的正确地址。我已经用xx.yy.zz.tt替换了我实例的ip。

我必须使用ubuntu@而不是ec2 user@因为当我ssh时,我在我的终端中看到ubuntu@时,请尝试更改为您在终端上看到的名称

此外,您还必须为计算机中的pem文件设置权限

chmod 400 /path/my-key-pair.pem
下面的代码将文件从您的计算机复制到Ec2实例

scp -i ~/location_of_your_ec2_key_pair.pem ~/location_of_transfer_file/sample.txt ubuntu@ec2_your_ec2_instance.compute.amazonaws.com:~/folder_to_which_it_needs_to_be_copied
下面的代码将文件从Ec2实例复制到您的计算机

scp -i ~/location_of_your_ec2_key_pair.pem   ubuntu@ec2_your_ec2_instance.compute.amazonaws.com:~/location_of_transfer_file/sample.txt ~/folder_to_which_it_needs_to_be_copied

我也面临同样的问题。希望这对你有用

scp-rp-i yourfile.pem~/local\u目录username@instance_url:目录


权限也应该是正确的。我发现我做错了什么,起初,我有用户的名字(在本例中是seqware),而不是ec2用户,这给了我同样的东西,但当我用root@publicdns,它成功了