我是Amazon EC2的新用户并尝试配置它。我创建了实例并尝试连接。我收到错误为“已断开连接:没有可用的支持身份验证方法(服务器已发送:publickey)”。
我从EC2管理控制台获得密钥对,并使用putty gen生成私钥文件(PPK)。
请协助解决。
我已经提及Google server putty connect 'Disconnected: No supported authentication methods available (server sent: publickey)但无法解决我的问题。
答案 0 :(得分:37)
对于记录,这些Linux发行版的EC2中通常的默认用户名为:
要通过浏览器访问实例,请确保add a rule in your security group允许端口80和端口443入站。
答案 1 :(得分:2)
我在Amazon EC2上遇到了完全相同的问题,我只是将用户名更改为“ubuntu”,并建立了连接。
答案 2 :(得分:2)
使用公共DNS名称而不是IP。 在油灰中,选择连接> SSH>验证。 您将看到Authentication Parameter部分, 在那里你可以选择你的ppk文件。
还有一件非常重要的事情。 单击"允许在SSH-2和#34中尝试更改用户名;激活它。
答案 3 :(得分:1)
即使使用 ec2-user ,我也遇到了同样的问题,我使用公共DNS 而不是公共IP 。它现在解决了。
答案 4 :(得分:0)
我遇到了同样的问题,但我收到错误的原因是因为我在创建实例时使用了不同的kevaluepair名称。
确保所有情况下的键值对名称相同。
答案 5 :(得分:0)
了解如果您的实例是由任何其他服务(如Elastic Beanstalk)创建而非直接来自EC2,您可能会面临类似的问题。
可能还有没有与您的实例关联的密钥对。要验证这一点,请转到
中的实例EC2信息中心>描述
注意' 密钥对名称'那里。如果那里有一个有效值(这必须与你用来从Putty Key Generator生成密钥相同),那么这个怀疑可以被推翻。否则,您可能需要重新创建实例作为最坏的情况。
在我的例子中,实例是由Elastic Beanstalk创建的,即EBS(另一个AWS服务),我托管了一个Web应用程序,我将现有的密钥对附加到EBS环境,并通过Putty进行连接。
答案 6 :(得分:0)
我遇到类似的问题,已解决,使用正确的username
并正确加载.ppk
文件。
EC2中的用户名因AMI计算机而异,请在以下AMI上使用以下登录名:
ubuntu or root on ubuntu AMIs
ec2-user on Amazon Linux AMI
centos on Centos AMI
debian or root on Debian AMIs
ec2-user or fedora on Fedora
ec2-user or root on: RHEL AMI, SUSE AMI, other ones.
如果您使用的是操作系统:
Windows - get PEM key from AWS website and generate PPK file using PuttyGen. Then use Putty to use the PPK (select it using left-column: Connection->SSH->Auth: Private key for authorization)
Linux - run: ssh -i your-ssh-key.pem login@IP-or-DNS
查找完整文档here 和here