【问题标题】:how to change the .ssh/authorisedKey on AWS如何在 AWS 上更改 .ssh/authorised 密钥
【发布时间】:2017-02-23 07:56:35
【问题描述】:

我在 aws 服务器上更改了 .ssh/authorisedKey。在此之后,我断开了终端。现在,当我尝试使用新密钥再次登录时,我的授权失败了..有没有其他方法可以在不登录终端实例的情况下放置原始密钥...任何人都可以指导我正确的方向吗? 谢谢

【问题讨论】:

  • 是您的公共 ssh 密钥,您使用它来连接到实例吗?

标签: amazon-web-services amazon-ec2 amazon


【解决方案1】:

如果您无法通过 ssh 连接到 Amazon EC2 Linux 实例,您可以使用以下流程替换与 ec2-user 关联的密钥对:

  • 停止您的 EC2 实例
  • 分离实例的EBS卷(记住设备ID,例如/dev/xvda
  • 启动另一个 EC2 实例(“调试实例”)
  • 附加 EBS 卷到调试实例
  • 登录到 Debug 实例,访问附加卷并将新的密钥对复制到 /home/ec2-user/.ssh/authorized_keys(如果您不确定要复制什么,请从 Debug 实例中的相同位置复制文件。)
  • 卸载分离 EBS 卷与 Debug 实例
  • 附加 EBS 卷到原始实例(例如/dev/xvda
  • 启动原始实例并尝试登录
  • 终止 Debug 实例

这里记录了一个类似的概念:

【讨论】:

    【解决方案2】:

    按照以下步骤操作:-
    1. 停止您的实例。
    2. 转到 AWS 管理控制台的操作选项卡,在实例设置下,转到查看/更改用户数据。 (附上相同的屏幕截图)。
    3. 您可以将您的 ssh 密钥添加到您的实例的用户数据中。

      #!/bin/bash
    your-public-key-content >> <home folder of your user>/.ssh/authorized_keys
    

    例如:- 我的实例是 amazon-linux ,所以下面的 2 个命令为我构成了用户数据。

    #!/bin/bash 
    echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAbcl5yLq9YUZ6p11eOEUKNyyksdjhfkslfhks amitk" >> /home/ec2-user/.ssh/authorized_keys .
    
    1. 启动实例并再次尝试 ssh。

    编辑:- 您需要像这样启动实例,然后包含新实例的用户数据。感谢 Michael - sqlbot 指出这一点。

    【讨论】:

    • 通过这个过程我解决的问题实际上不是我最初的启动和我在同一设备上的两个实例 /dev/xvda 我的另一个 ssh 密钥被这个过程改变了??谢谢回复
    • 先生,这个过程不适合我。为什么在你的最后一个例子中使用一个点我不会添加它
    猜你喜欢
    • 2023-01-16
    • 2018-09-08
    • 2016-08-15
    • 2018-01-02
    • 1970-01-01
    • 2012-04-28
    • 2015-12-31
    • 2021-02-07
    • 2013-09-18
    相关资源
    最近更新 更多