Ec2インスタンスの作成中に、キーペア名を提供します。
しかし、一般的に、複数のssh公開/秘密鍵をリモートサーバーに関連付けます。 ec2サーバーが作成されたら、キーペアを接続することはできないことを知っています。したがって、インスタンスの作成中に複数のキーペアを使用できるかどうかを知りたいと思います。
残念ながら、2つのエントリを持つキーをインポートすることもできません。最初のエントリのみが新しいキーペアにインポートされます。
あなたがcanすることは:
EC2キーペアを使用せず、代わりにuser_data
フィールドを使用して、/home/<user>/.ssh/authorized_keys
ファイルに複数のSSH公開キーを挿入します。ここで、AMIの標準ユーザー(ubuntu、ec2_userなど)です。
起動するすべてのEC2インスタンスにuser_data
を追加できます。次の例を考えてみましょう。
#!/bin/bash
echo "ssh-rsa AAAA…" > /home/ubuntu/.ssh/authorized_keys
echo "ssh-rsa AAAA…" >> /home/ubuntu/.ssh/authorized_keys
chown ubuntu: /home/ubuntu/.ssh/authorized_keys
chmod 0600 /home/ubuntu/.ssh/authorized_keys
ユーザーデータスクリプトはroot
として実行されるため、Sudo
を指定する必要はありません。
そうすれば、Ansibleなどでインスタンスを管理する前に、Terraformなどのツールを使用してパーソナライズされたSSHアクセスキーを作成できます。
注ただし、単純な外観ではどのキーが使用されているかわかりません。確認するにはマシンにアクセスする必要があります。
できない...〜/ .ssh/authorized_keysを手動で編集し、アクセスを許可したい追加のユーザーの公開鍵を追加する方法しかありません。このアプローチの欠点は、EC2が終了したときにこの操作をやり直す必要があることです。開発者/テスト環境ではあまり便利ではありません... :(
複数のキーペアをEC2インスタンスに関連付けることはできません。
つまり、複数のユーザーを作成し、パスワードではなくキー認証を使用してSSH経由でインスタンスへのアクセスを提供できます。
プロセスはこのようになります