LoginSignup
1
1

More than 3 years have passed since last update.

いつもの公開鍵でアクセスできるEC2を立ち上げる

Last updated at Posted at 2020-05-22

いつも使っている公開鍵 でアクセスできる Amazon EC2 インスタンスを立ち上げる方法について解説します。

いつも使っている公開鍵とは GitHub に登録しているものを想定しています。
また、 使用する AMI は ubuntu 18.04 のもの想定しています。
AWS コンソールのダッシュボードは 2020/05/22 に私がアクセスした時のものを想定しています。

EC2 インスタンスへのアクセスにいつもの公開鍵を使うようにすることで、AWS のダッシュボードで生成したキーペアを管理する手間を省くことができます。

GitHub に登録している公開鍵について

GitHub に登録している公開鍵は、 https://github.com/ユーザー名.keysという URL で text/plain でアクセスできます。複数の公開鍵を登録している人は複数行で出力されます。

$ curl https://github.com/kamataryo.keys
ecdsa-sha2-nistp521 AAAAE2VjZHNhLXNoYTItbmlzdHA1MjEAAAAIbmlzdHA1MjEAAACFBAFd05sWXhWHfY2ciIkghahLY+YLJKvPuRYWUVm4buBrKvDhIgYV6pj5g/M5jTwSr7lS9nx7DV/B+fGh92dOmj/7HAGaByWXTsIHdBsQnCO0Qbu8xbzTbewIYsClfVf5XWagbIHQx02PQv9mlUsBlCaJxr0ZS8gudCRDgOPil/AdlSj4RQ==
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDeivU3S06V2FFYU1a6ekotDU1jeB5F9F3Nd9XD5OSg6pSFSZVcEticSFqSadRmhvTzIKfFihLVlX3aGkEbuj9U705+TSViiSm5xz0R/00UxQMq/iY9by7r8W1oqgCkbupEdHo6ltfEAjFmrYiVKcAuWooIvKb+0DYJBUX9+xCDvaVHynifw586G/TnzBLkwpS93BcDNYYagu1u1Aaik5lXC1tSyzzKqpGaER5ZDVlMSSSa82at2mGIJsGXb/u4D7gPrmX3zgCSviCcCfyTIbk+m9nKg2FAi4uy2yJAvao4y+GpHQk+KIvcKS/os6z/KJi09CA7eTAtYyawffcijfR7
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCgz7nsId0wHKy5qL3CL9qVuiAoP7INZJ1QPvYzkhGLPhZF8DxPcmdb046kWQFYcLUixKDCVByXvv60UDBq56cNGcFxnKSkfSfyBoEXqLY4V4gMlq+gA21D0ddhK7/3kc+HHf8jaEU5wBs2K3oG9KiDnRvHvXvCjanzjDZYS6CrywLjkLKO+0KzS3NwLk2CTH+cDOoR4Vlo5q4PdlANU+XcwIYQzRC8ieiOq8zycH0m60bMCJ+5AY+xqzjrWcsKy/aAHym/Jlp1iyZEbBKV22MivTlb/hGSpaATmSJ0Hdv0D8dTLgRmoj4/nf1hjAEAjsmBPzG39ue6+dJnrV/6BBAH

起動テンプレートの作成

今回は Amazon EC2 の起動テンプレートという機能を使い、インスタンス起動時に GitHub から公開鍵を取得して登録します。

https://ap-northeast-1.console.aws.amazon.com/ec2/v2/home?region=ap-northeast-1#CreateTemplate:

EC2のダッシュボードまたは上記のリンクから起動テンプレートの作成画面に移動して、必要な情報を埋めてください。必須の項目は 起動テンプレート名 のみです。

Screenshot 2020-05-22 11.07.05.png

キーペア の項目は、起動テンプレートに含めないでください という値を選んでおくと使い回しの秘密鍵を使わせないで済むのでセキュアですね。

Screenshot 2020-05-22 11.10.49.png

ユーザーデータの設定

高度な設定 という見出しをクリックしてトグルを開くと、ユーザーデータという項目があります。EC2 の起動時に実行されるされるスクリプトをここに記述することができます。
GitHub から公開鍵を取得して認可済みの公開鍵として登録するスクリプトを記述します。

Screenshot 2020-05-22 11.17.11.png
#!/bin/bash
mkdir -p /home/ubuntu/.ssh
# 以下の URL はあなたのGitHub のユーザー名に置き換えてください
curl https://github.com/ユーザー名.keys >> /home/ubuntu/.ssh/authorized_keys
chmod 700 /home/ubuntu/.ssh
chmod 600 /home/ubuntu/.ssh/authorized_keys

シェバン(#!/bin/bash)がないと正しく実行されないので注意してください。
これでテンプレートの設定は終了です。

テンプレートから EC2 を起動する

テンプレートの起動画面 から作成したテンプレートを選択できます。

Screenshot 2020-05-22 11.32.09.png

テンプレートからインスタンスを起動すると、いつもの公開鍵でSSH接続できるものが立ち上がるはずです。

# <IPアドレス>はEC2インスタンスのものに置き換えてください
$ ssh ubuntu@<IPアドレス>
1
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1