【问题标题】:aws permission denied (publickey) new instanceaws 权限被拒绝(公钥)新实例
【发布时间】:2017-08-31 14:48:37
【问题描述】:

我在 AWS 上创建了一个新的 EC2 实例,包括一个新的密钥对并将 SSH 添加到安全组。这是输出跟踪:

ssh.exe:OpenSSH_7.1p2,OpenSSL 1.0.2h 2016 年 5 月 3 日行:1 字符:4 + ssh out.txt + CategoryInfo : NotSpecified: (OpenSSH_7.1p2, ....2h 3 May 2016 :String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError debug1: Reading configuration data /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 type -1

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

debug1:身份文件.\CHEFtutorial.pem-cert type -1

debug1:启用协议 2.0 的兼容模式

debug1:本地版本字符串 SSH-2.0-OpenSSH_7.1

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

debug1:匹配:OpenSSH_7.2p2 Ubuntu-4ubuntu2.1 pat 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: server->client chacha20-poly1305@openssh.com 没有

debug1:kex:client->server chacha20-poly1305@openssh.com 没有

debug1:期待 SSH2_MSG_KEX_ECDH_REPLY

debug1:服务器主机密钥:ecdsa-sha2-nistp256 SHA256:8jkpw+J1G8Lx8eamhiOYm0xTtCA +ElsRgJznVyK7Rnw

debug1:主机 'ec2-54-148-153-153.us-west-2.compute.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: 下一个认证方法: publickey debug1: Trying private 键:.\CHEFtutorial.pem

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

debug1:没有更多的身份验证方法可以尝试。没有权限 (公钥)。

输入是ssh -v -i .\CHEFtutorial.pem ec2-54-148-153-153.us-west-2.compute.amazonaws.com。服务器拒绝密钥的原因是什么?我没有使用任何权限信息,对此问题的其他答案已将其列为问题。

【问题讨论】:

    标签: amazon-web-services ssh amazon-ec2 private-key


    【解决方案1】:

    请确保pem文件的权限为400

    进入pem文件所在目录并执行

    sudo chmod 400 CHEFtutorial.pem
    

    然后执行

    ssh -v -i CHEFtutorial.pem username@ec2-54-148-153-153.us-west-2.compute.amazonaws.com
    

    如果是 ubuntu 服务器,则提供 usernameubuntu,对于 rhel 或 centos 服务器,提供用户名为 ec2-user

    注意:- 如果 pem 文件的所有者是 root ,请在命令中提供sudo

    【讨论】:

    • 我已经运行了那个命令。有没有办法测试并确认权限已按预期修改?
    • 只要到那个目录并输入 'ls -l' 或 'll' ,它就会列出文件的权限和所有权
    【解决方案2】:

    您还必须提及您在该服务器上执行 ssh 的用户的名称。

    例如如果机器是 Ubuntu 实例,我将不得不这样做

    ssh -v -i .\CHEFtutorial.pem ubuntu@ec2-54-148-153-153.us-west-2.compute.amazonaws.com

    尝试为您的机器找出相应的用户。我猜你可以在 AWS 文档中得到它。然后只需在服务器地址前添加 username@ 前缀即可。

    【讨论】:

    • 我已经仔细检查了系统的用户名。我的是一个 ubuntu 实例,我尝试过 ubuntu 和 root 作为用户名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-24
    • 2016-02-17
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多