服务器拒绝了我们的密钥,将 authorized_keys 权限设置为 777
Server refused our key, set authorized_keys perrmissions to 777
我正在从我的 ec2 实例上的主目录复制一些文件,出于懒惰,我 运行 命令 sudo chmod 777 /home/ec2-user/*。我想这使我的 .ssh 文件夹和 authorized_keys 也可能拥有 777 权限。事实证明,如果 authorized_keys 设置为 777,则您无法使用这些密钥通过 SSH 进入该框(因为其他用户可能已经更新了它)。
我的问题是,如何解决这个问题并重新登录我的邮箱?这是一个 ec2 实例,所以我必须通过 ssh 登录。
要更改权限,您需要访问实例中的文件。
由于您无法在实例中使用 ssh,因此您需要执行以下操作:
- 为您的应用程序安排停机时间,因为您需要停止该实例。
- 备份实例存储(临时卷)内的所有内容。
- 停止实例。
- 从有问题的 EC2 实例分离卷。
- 将卷附加到另一个工作的 EC2 实例。
- 对您的 .ssh 目录及其文件进行
chmod
更改。
- 分离卷。
- 附加到有问题的 EC2 实例。
- 启动 EC2 实例。
- 尝试连接到 EC2 实例。
请注意,如果您没有为实例配置弹性IP,IP地址将会改变。
有关将卷附加到 EC2 实例的更多信息,请参阅此 AWS Documentation。
为了尽可能减少停机时间,获取实例映像(在不重启模式下)并使用此映像和您之前指定的密钥创建新机器。
AWS 在创建新盒子时,将密钥放入适当的权限。
请注意,私有 IP 和 public IP 会发生变化,如果您不想更改 IP,请使用弹性 IP,然后使用弹性 IP。
我正在从我的 ec2 实例上的主目录复制一些文件,出于懒惰,我 运行 命令 sudo chmod 777 /home/ec2-user/*。我想这使我的 .ssh 文件夹和 authorized_keys 也可能拥有 777 权限。事实证明,如果 authorized_keys 设置为 777,则您无法使用这些密钥通过 SSH 进入该框(因为其他用户可能已经更新了它)。
我的问题是,如何解决这个问题并重新登录我的邮箱?这是一个 ec2 实例,所以我必须通过 ssh 登录。
要更改权限,您需要访问实例中的文件。
由于您无法在实例中使用 ssh,因此您需要执行以下操作:
- 为您的应用程序安排停机时间,因为您需要停止该实例。
- 备份实例存储(临时卷)内的所有内容。
- 停止实例。
- 从有问题的 EC2 实例分离卷。
- 将卷附加到另一个工作的 EC2 实例。
- 对您的 .ssh 目录及其文件进行
chmod
更改。 - 分离卷。
- 附加到有问题的 EC2 实例。
- 启动 EC2 实例。
- 尝试连接到 EC2 实例。
请注意,如果您没有为实例配置弹性IP,IP地址将会改变。
有关将卷附加到 EC2 实例的更多信息,请参阅此 AWS Documentation。
为了尽可能减少停机时间,获取实例映像(在不重启模式下)并使用此映像和您之前指定的密钥创建新机器。 AWS 在创建新盒子时,将密钥放入适当的权限。
请注意,私有 IP 和 public IP 会发生变化,如果您不想更改 IP,请使用弹性 IP,然后使用弹性 IP。