web-dev-qa-db-ja.com

複数のキーペアでec2インスタンスを作成します

Ec2インスタンスの作成中に、キーペア名を提供します。

しかし、一般的に、複数のssh公開/秘密鍵をリモートサーバーに関連付けます。 ec2サーバーが作成されたら、キーペアを接続することはできないことを知っています。したがって、インスタンスの作成中に複数のキーペアを使用できるかどうかを知りたいと思います。

20
Pattu

残念ながら、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アクセスキーを作成できます。

ただし、単純な外観ではどのキーが使用されているかわかりません。確認するにはマシンにアクセスする必要があります。

27
Roger Lehmann

できない...〜/ .ssh/authorized_keysを手動で編集し、アクセスを許可したい追加のユーザーの公開鍵を追加する方法しかありません。このアプローチの欠点は、EC2が終了したときにこの操作をやり直す必要があることです。開発者/テスト環境ではあまり便利ではありません... :(

6
Boeboe

複数のキーペアをEC2インスタンスに関連付けることはできません。

つまり、複数のユーザーを作成し、パスワードではなくキー認証を使用してSSH経由でインスタンスへのアクセスを提供できます。

プロセスはこのようになります

  • 新しいユーザーを作成する
  • 適切な許可と特権を割り当て/提供する
  • キーを生成する-証明書
  • 証明書をユーザーに関連付ける

詳細- パスワードの代わりに認証キーを使用したSSH

0
Naveen Vijay