【问题标题】:ssh permission denied (publickey) when trying to access ec2 from different computer尝试从其他计算机访问 ec2 时 ssh 权限被拒绝(公钥)
【发布时间】:2012-06-25 00:22:13
【问题描述】:

我正在尝试使用另一台 (mac) 计算机访问 ec2 实例。为此,我创建了一个新的密钥对,使用 chmod 600 设置权限,然后使用 ssh-add。当我尝试 ssh 进入我的 ec2 实例时,我得到“权限被拒绝(公钥)”。我确定我的错误是愚蠢而简单的,但我似乎找不到它,任何人都可以帮助我吗?

【问题讨论】:

    标签: ssh amazon-ec2 public-key


    【解决方案1】:

    您需要确保将 Mac 中的 ~/.ssh/id_rsa.pub(如果它是 RSA 密钥)附加到目标计算机上的 ~/.ssh/authorized_keys 文件中。通常,如果这是默认的 Amazon API,则用户是“ec2-user” -- ~ec2-user/.ssh/authorized_keys

    记住要追加,不要删除该文件中的其他条目——否则,您可能会将自己锁定在该机器之外......

    【讨论】:

    • 我认为我应该自动附加到文件中,因为我使用 aws 管理控制台创建了密钥对?还是我误解了你的建议?
    • 您需要将生成的公钥持久化到实例中。很容易检查。查看“authorized_keys”,看看你的mac上生成的“pub”是否被复制进去了。
    • 哦,我明白了。我错了。不幸的是,我尝试这样做的全部原因是我目前无法访问我的旧密钥,所以我无法登录这样做。但是感谢您帮助我解决问题
    【解决方案2】:

    您的私钥在新计算机上吗?

    你需要把它放在你使用 ssh 的计算机上。我通常把我的放在闪存驱动器上……我没有运行 linux atm,所以我忘记了它检查的默认目录。也许这会唤起你的一些记忆。我认为该目录会像 ~/.id_rsa/ 之类的?

    【讨论】:

    • 私钥在新电脑上,我不认为是位置问题?虽然我可能是错的 - 我对这个过程中发生的事情并没有真正深入的了解
    • 您需要拥有原始私钥,除非您的 ec2 实例获得公钥副本,否则您无法制作新私钥。本质上,这是一个握手过程,表明你就是你所说的那个人。如您所知,密钥是安全的(足够)并且具有匹配的对。关键是公钥在你想要的服务器上,然后你的私钥将通过一些加密选项算法进行比较。如果您在 ec2 实例上没有与 public 匹配的私钥,则需要更改公钥。
    • 谢谢。我在想,当我创建新密钥时,aws 会自动将它链接到我的实例,但事实并非如此,我不知道为什么我会这样认为
    猜你喜欢
    • 2016-09-19
    • 1970-01-01
    • 2018-02-04
    • 2014-07-24
    • 1970-01-01
    • 2018-11-06
    • 2018-11-15
    • 2013-09-04
    • 1970-01-01
    相关资源
    最近更新 更多