SSH を使用して接続できるようにするために、追加ユーザーアカウントを追加する必要があります。どのようにすればよいですか?
アカウンタビリティ、コンプライアンス、あるいは運用上の理由で、追加 SSH ユーザーを Amazon EC2 インスタンスに追加することが必要になる場合があります。追加アカウントを追加するには、cloud-init ユーティリティを使用します。
デフォルトの動作は、インスタンスごとに一度実行することです。しかし以下の説明に従えば、インスタンスのリブートまたは再起動のたびにキーが追加されます。ユーザーデータが削除された場合、デフォルトの機能が復元されます。以下の説明は、cloud-init ディレクティブをサポートしている、すべての OS ディストリビューション用です。
注: 以下の説明が有効なのは、Cloud-init をインストールして構成している場合のみです。詳細については、「SSH」を参照してください。
以下の手順では、新しいユーザーアカウントが作成されて、SSH ディレクトリとそれに含まれるファイルに対する適切な所有権とファイル権限が設定され、指定した SSH パブリックキーが authorized_keys ファイルに追加されます。新しいユーザーアカウントは、ec2-user のデフォルトの動作と同等の働きをします。
注: インスタンスを停止する必要があります。エフェメラルボリュームのデータはすべて失われます。
EC2 インスタンスを停止します。
- Amazon EC2 コンソールでインスタンスを選択して、[Actions (アクション)]、[Instance State (インスタンスの状態)]、[Stop (停止)] と選択していきます。
注: [Stop (停止)] が無効になっている場合、インスタンスが既に停止しているか、またはルートデバイスがインスタンスストアボリュームかのいずれかです。
パブリックキーの検索:
Linux / OSX:
- 以下のコマンドを使用します。詳細については、「キーペアの表示」を参照してください。
# ssh-keygen -y -f /path/to/keypair.pem
Windows:
- PuTTYGen を開く
- .PEM ファイルをロードする
- パブリックキーが、[Public key for pasting into OpenSSH authorized_keys file (OpenSSH authorized_keys ファイルにペーストするためのパブリックキー)] ボックスに表示されます。詳細については、「Windows のキーペア用にパブリックキーを取得する」を参照してください。
パブリックキーの更新:
- [Actions]を選択、次に[Instance Settings]を選択し、[View/Change User Data]をクリックします。
- [User Data (ユーザーデータ)] フィールドにコピーアンドペーストして、ssh-rsa の行を対応するパブリックキーで更新してから、[Save (保存)] を選択します。
#cloud-config cloud_final_modules: - [users-groups,always] users: - name: <username> groups: [ wheel ] sudo: [ "ALL=(ALL) NOPASSWD:ALL" ] shell: /bin/bash ssh-authorized-keys: - ssh-rsa AAAAB3Nz<your public key>...
たとえば、"example_user" アカウントを作成する場合、userdata スクリプトは、次のようになります。
#cloud-config cloud_final_modules: - [users-groups,always] users: - name: example_user groups: [ wheel ] sudo: [ "ALL=(ALL) NOPASSWD:ALL" ] shell: /bin/bash ssh-authorized-keys: - ssh-rsa AAAAB3Nz<your public key>...
- [Actions] を選び、[Instance State] を選択し、そして[Stop] を選びます。
- インスタンスが起動すれば、新しく作成したユーザーとして、ログインすることができます。
注: インスタンスのユーザーデータを変更するには、ModifyInstanceAttribute API メソッドを使用します。このメソッドを制限する場合、IAM ポリシーを作成することができます。