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

时间:2016-07-07 03:06:59

标签: amazon-web-services ssh amazon-ec2 public-key-encryption

我在我的ec2实例上从我的主目录中复制了一些文件,并且在懒惰中,我运行了命令sudo chmod 777 / home / ec2-user / *。我想这使我的.ssh文件夹和authorized_keys可能也有777个特权。事实证明,如果authorized_keys设置为777,则无法使用这些密钥进入包装盒(因为其他用户可能已更新它)。

我的问题是,如何解决此问题并再次登录我的复选框?这是一个ec2实例,所以我必须ssh。

2 个答案:

答案 0 :(得分:4)

要更改访问实例内部文件所需的权限。

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

  1. 为您的应用程序安排停机时间,因为您需要停止该实例。
  2. 备份Instance Store内的所有内容(临时卷)。
  3. 停止实例。
  4. 从相关的EC2实例中分离卷。
  5. 将卷附加到另一个正在运行的EC2实例。
  6. 对.ssh目录及其文件进行chmod更改。
  7. 分离音量。
  8. 附加到相关的EC2实例。
  9. 启动EC2实例。
  10. 尝试连接到EC2实例。
  11. 请注意,如果您没有为实例配置弹性IP,则IP地址将会更改。

    有关将卷附加到EC2实例的详细信息,请参阅此AWS Documentation

答案 1 :(得分:1)

要使停机时间保持最小,请拍摄实例图像(在无重启模式下)并使用此图像和先前指定的密钥创建新计算机。 AWS在创建新框时,会为密钥设置适当的权限。

请注意,私有IP和公共IP将发生变化,如果您不想更改IP,请使用弹性IP,然后使用弹性IP。