2017-04-05 234 views
-1

我在AWS上创建了一个新的EC2实例,其中包括一个新的密钥对并将SSH添加到安全组。下面是输出跟踪:aws权限被拒绝(publickey)新实例

ssh.exe:OpenSSH_7.1p2,OpenSSL的1.0.2h 2016年5月3日在行:1个字符:4 + SSH < < < < -v -i \ CHEFtutorial.pem EC2 -54-148-153-153.us-west-2.compute.amazo naws.com 2> out.txt +类别信息:未指定:(OpenSSH_7.1p2,.... 2h 2016年5月3日:字符串)[] ,RemoteException的 + FullyQualifiedErrorId:NativeCommandError DEBUG1:读取配置数据的/ etc/SSH/ssh_config中

DEBUG1:连接到 ec2-54-148-153-153.us-west-2.compute.amazonaws.com [54.14 8.153.153]端口22.

debug1:建立连接。

DEBUG1:key_load_public:没有这样的文件或目录

DEBUG1:标识文件\ CHEFtutorial.pem类型-1

DEBUG1:key_load_public:没有这样的文件或目录

DEBUG1:标识文件\ CHEFtutorial.pem证书类型-1

DEBUG1:启用兼容模式协议2.0

DEBUG1:螺CAL版本字符串SSH-2.0-OpenSSH_7.1

DEBUG1:远程协议版本2.0,远程软件版本 OpenSSH_7.2p2 Ubun TU-4ubuntu2.1

DEBUG1:匹配:OpenSSH_7.2p2 Ubuntu的4ubuntu2.1拍拍的OpenSSH * COMPAT 0x04000000 DEBUG1:身份验证中 ec2-54-148-153-153.us-west-2.compute.amazonaws.com:22为 'i861009'

DEBUG1:SSH2_MSG_KEXINIT发送

debug1:收到SSH2_MSG_KEXINIT

DEBUG1:KEX:服务器 - >客户端[email protected] 没有

DEBUG1:KEX:客户机 - >服务器[email protected] 没有

DEBUG1:期待SSH2_MSG_KEX_ECDH_REPLY

DEBUG1:服务器主机密钥:ECDSA-SHA2-nistp256 SHA256:8jkpw + J1G8Lx8eamhiOYm0xTtCA + ElsRgJznVyK7Rnw

DEBUG1:主机“ec2-54-148-153-153.us-west-2.co mpute.amazonaws.com'为 已知且与ECDSA主机密钥匹配。

debug1:找到密钥在/ c/Users/i861009 /中。SSH/known_hosts中:2

DEBUG1:SSH2_MSG_NEWKEYS发送

DEBUG1:期待SSH2_MSG_NEWKEYS

DEBUG1:SSH2_MSG_NEWKEYS接收

DEBUG1:SSH2_MSG_SERVICE_REQUEST发送

DEBUG1:SSH2_MSG_SERVICE_ACCEPT接收

DEBUG1 :可以继续的身份验证:publickey

DEBUG1:下一个验证方法:公钥DEBUG1:尝试私人 关键:\ CHEFtutorial.pem

DEBUG1:身份验证,可以继续:公钥

DEBUG1:没有更多的认证方法去尝试。权限被拒绝 (publickey)。

输入是ssh -v -i .\CHEFtutorial.pem ec2-54-148-153-153.us-west-2.compute.amazonaws.com。服务器拒绝密钥的原因是什么?我还没有玩过任何权限信息,这个问题的其他答案已经注意到了一个问题。

回答

0

你必须还别说你正在做的ssh到该服务器上的用户名。

E.g.如果该机器是Ubuntu实例,则必须执行

ssh -v -i。\ CHEFtutorial.pem [email protected]

试着找出你机器的相应用户。我猜,你可以在AWS文档中找到它。然后在服务器地址前加上用户名@

+0

我已经双重检查用户名的系统。 Mine是一个ubuntu实例,我已经尝试了ubuntu和root作为用户名。 – ViggyNash

0

请确保PEM文件的权限是400

去哪里PEM文件所在的目录,然后执行

sudo chmod 400 CHEFtutorial.pem 

然后执行

ssh -v -i CHEFtutorial.pem [email protected] 

如果它是一个Ubuntu服务器提供username作为ubuntu,并为rhel或centos服务器提供用户名为ec2-user

注: - 如果PEM文件的所有者是root,提供命令sudo

+0

我已经运行了该命令。有没有方法可以测试并确认权限已按预期进行了修改? – ViggyNash

+0

只需进入该目录并给出'ls -l'或'll',它将列出具有该权限和所有权的文件 – shahin