代码之家  ›  专栏  ›  技术社区  ›  etk1220

服务器拒绝了我们的密钥,将authorized_keys perrmisions设置为777

  •  0
  • etk1220  · 技术社区  · 8 年前

    我正在ec2实例上从主目录复制一些文件,出于懒惰,我运行了命令sudochmod 777/home/ec2-user/*。我想这使得我的.ssh文件夹和authorized_keys可能也拥有777权限。事实证明,如果authorized_keys设置为777,则无法使用这些密钥通过SSH进入框中(因为其他用户可能已经更新了它)。

    2 回复  |  直到 8 年前
        1
  •  4
  •   Deepak Chaudhary    8 年前

    要更改权限,您需要访问实例中的文件。

    由于无法在实例中使用ssh,因此需要执行以下操作:

    1. 为应用程序安排停机时间,因为您需要停止实例。
    2. 备份实例存储区内的所有内容(临时卷)。
    3. 停止实例。
    4. 将卷连接到另一个正在工作的EC2实例。
    5. chmod 更改.ssh目录及其文件。
    6. 分离卷。
    7. 连接到有问题的EC2实例。
    8. 启动EC2实例。
    9. 尝试连接到EC2实例。

    请注意,如果您没有为实例配置弹性IP,IP地址将更改。

    有关将卷附加到EC2实例的更多信息,请参阅 AWS Documentation .

        2
  •  1
  •   Garima Sharma    8 年前

    要使停机时间最小化,请获取实例的映像(在无重新启动模式下),并使用此映像和您先前指定的密钥创建一台新机器。

    请注意,私有和公共IP都会更改,如果您不想更改IP,请使用弹性IP,然后使用弹性IP。