techblog

Amazon EC2 cloud-init の機能を使用し、公開鍵を変更する(備忘録)

EC2インスタンスの公開鍵をcloud-initを使用して変更する方法を解説。cloud-initの設定と公開鍵指定のポイントをわかりやすく紹介しています。

目次

はじめに

Amazon EC2インスタンスの公開鍵をcloud-initの機能を使用して変更する時に、時間を溶かしたので備忘録として記録します。

結論

以下、サイトが大変参考になりました。

EC2のキーペアを失くしたので設定しなおしてみた | DevelopersIO

cloud-initには、初回EC2インスタンス作成時のみに実行するパターンと作成した後のインスタンスで起動時に毎回、実行するパターンを選択できます。

参考したサイトでは、前者の方で、筆者は、後者の方で実行したかったので以下内容でユーザデータに指定し実行しました。

Content-Type: multipart/mixed; boundary="//"
MIME-Version: 1.0

--//
Content-Type: text/cloud-config; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment; filename="cloud-config.txt"

#cloud-config
cloud_final_modules:
- [users-groups, always]
users:
  - name: ec2-user
    ssh-authorized-keys: 
    - ssh-rsa AAAA***
  • [users-groups, once] になっていた部分を [users-groups, always] に変更します。
  • - ssh-rsa AAAA*** 部分の AAAA*** 箇所を設定したい公開鍵に変更します。

    • 公開鍵に記載されている id-rsa 以降に羅列されている文字列となりますので注意ください。