<p>我想使用我的亚马逊 WC2 实例,但面临以下错误:<br />
没有权限(publickey)。<br />
我已经创建了我的密钥并下载了 .pem 文件。<br />
考虑到:<br />
Chmod 600 pem 文件。<br />
然后,这个命令<br />
ssh - /home/kashif/serverkey.pem ubuntu@ec2 - 54 - 227 - 242 - 179. - 1.计算- - - - - - - amazonaws.com<br />
但是有这样的错误:<br />
没有权限(publickey)<br />
另外,我如何连接 filezilla 上传/下载文件?</p>
<p>以下是导致这种情况的常见原因:</p>
<ol>
<li>试图用错误的钥匙连接。您确定此实例正在使用此密钥对吗?</li>
<li>试图用错误的用户名连接。ubuntu 是基于 Amazon 的 ubuntu 发行版的用户名,但在其他一些版本中它是 EC2-user(或者在一些 debian 上是 admin,根据 Bogdan Kulbida 的回答)(也可以是 root, fedora,见下文)</li>
<li>正在连接错误的主机。您要登录的是正确的主机吗?<br />
请注意,1。如果你搞砸了/home/<用户名>/也会发生。在 EC2 实例中的 ssh/authorized_keys 文件。<br />
约2。,关于您应该使用哪个用户名的信息,通常在AMI Image描述中缺乏。但你可以在 Amazon EC2文档中找到一些,要点4。:</li>
</ol>
<p><a href="http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html" target="_blank">http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html</a><br />
使用 ssh 命令连接到实例。您将指定私钥(.pem)文件和 user_name@public_dns_name。对于 Amazon Linux,用户名为 ec2-user。对于 RHEL5,用户名是 root 或 ec2-user。对于 Ubuntu,用户名为 Ubuntu。对于 Fedora,用户名是 Fedora 或 ec2-user。对于 SUSE Linux,用户名为“root”。否则,如果 ec2-user 和 root 不能工作,请检查您的 AMI 提供商。<br />
最后,请注意还有许多其他原因导致身份验证失败。如果您想要在 SSH 命令中添加-v 选项并读取输出,SSH 通常会非常明确地说明出了什么问题,就像这个问题的许多其他答案中解释的那样。</p>