30

すべてのリージョンで同じキーペアファイルを使用できますか?sshアクセスをできるだけシンプルにしたいと思います。

リージョンごとに1つのファイルを設定しました。同じファイルを別の地域にアップロードしようとしましたが、期待どおりに機能しませんでした。

4

8 に答える 8

24

その間、これは独自のキーペアをインポートすることで有効になりました。紹介記事「新しいAmazon EC2機能:独自のキーペアを持参する」を参照してください。

これで、 Amazon EC2インスタンスで使用するために、独自のRSAキーペア(正確にはパブリックハーフ)をインポートできます。

なぜあなたはこれをしたいのですか?ここにいくつかの理由があります:

  1. 信頼-独自のキーペアをインポートすることで、キーを完全に制御できるようになります。
  2. セキュリティ-秘密鍵が有線で送信されたことは一度もないと確信できます。
  3. 複数のリージョンの管理-複数のAWSリージョンで同じ公開鍵を使用できます。 [強調鉱山]

このアプローチは確かに非常に有益/便利です-私はすでにしばらくそれを使用しており、複数のリージョンとアカウントでEC2の使用を大幅に簡素化しました。

Eric Hammondは、彼の記事「 AmazonEC2へのパーソナルsshキーのアップロード」で詳細と短いチュートリアルを提供しています。

Amazonは最近、独自のssh公開鍵をEC2にアップロードする機能を開始しました。これにより、新しいインスタンスが起動されたときにそれを渡すことができます。これ以前は、Amazonによって生成されたsshキーペアを常に使用する必要がありました。

したがって、これを達成するために必要な(いくつかの簡単な)手順に関する彼の記事に従うことをお勧めします。

于 2012-04-18T10:51:37.683 に答える
12

独自のRSA公開鍵をインポートできる場合は、Amazonで生成された鍵をリージョン間で共有できます。

  1. 共有するキーを使用して、それが生成されたリージョンのインスタンスにログインします。
  2. 〜/ .ssh/authorized_keysを開きます
  3. 共有するキーのある行を見つけます(行の最後には、生成時に指定したキーペア名が表示されます)。
  4. キーペア名の最初の文字までのすべての行をコピーします。382文字である必要があります。
  5. コピーしたデータをローカルのファイルに保存します(たとえば、SSHセッションFROMを起動したマシンに)。
  6. EC2コンソールにログオンし、キーを共有するリージョンに切り替えます。
  7. 「キーペア」管理を選択します
  8. [キーペアのインポート]をクリックして、手順5で作成したファイルをポイントします。おそらく、インポートするリージョンでキーペアに付けたのと同じ名前を付けます。
  9. このキーペアを使用してインスタンスを起動します。生成したリージョンと同じ秘密鍵を使用して、新しいリージョンのインスタンスにログインできるはずです。
于 2014-01-03T22:53:34.553 に答える
10

AWSコンソールでsshキーペアを作成し、このキーペアを他のすべてのリージョンにアップロードする場合。

  1. コンソールで新しいsshキーペアを作成するか、すでに所有しているものを使用します。

  2. ssh秘密鍵からssh公開鍵を生成します(pem> pub)

    $ ssh-keygen -y -f ~/.ssh/MySSHKeyPair.pem >> ~/.ssh/MySSHKeyPair.pub

  3. ssh公開鍵をすべてのリージョンにアップロードします。(すでにsshキーを持っているリージョンをリストから削除します)

    $ for region in us-east-1 us-east-2 us-west-1 us-west-2 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2 ; do aws ec2 import-key-pair --key-name MySSHKeyPair --public-key-material file://~/.ssh/MySSHKeyPair.pub --region $region ; done

  4. すべてのリージョンのすべてのsshキーペアのリストを取得します。

    $ for region in us-east-1 us-east-2 us-west-1 us-west-2 ap-south-1 ap-northeast-2 ap-southeast-1 ap-southeast-2 ap-northeast-1 eu-central-1 eu-west-1 eu-west-2 ; do aws ec2 describe-key-pairs --region $region ; done

于 2017-04-19T04:52:57.410 に答える
6

AWSで生成されたキーは、別のリージョンに転送できます。

  • 転送するキーで作成されたインスタンスにログインします。
  • まだ存在しない場合はec2-api-toolsをインストールします(sudo apt-get install ec2-api-tools)

このコマンドを使用する

ec2-import-keypair keypair-name --public-key-file ~/.ssh/authorized_keys --region aws-region

上記の手順で、AWSで作成したキーをシンガポールリージョンからオレゴンリージョンに転送しましたが、同じキーが完全に機能しました。

このリンクにもアクセスしてください:

https://forums.aws.amazon.com/thread.jspa?threadID=52654

于 2016-05-31T12:37:16.503 に答える
2

aws cliを使用して、キーペアを別のリージョンに転送することもできます。

aws ec2 import-key-pair --key-name my-key --public-key-material file://~/.ssh/id_rsa.pub --region my-region

詳細については、GitHubでこの問題を参照してください。

于 2017-03-07T21:26:08.210 に答える
1
  1. コンソールで新しいsshキーペアを作成するか、すでに所有しているものを使用します。
  2. ssh秘密鍵からssh公開鍵を生成します(pem> pub)$ ssh-keygen -y -f〜/ .ssh / rainman_key.pem >>〜/ .ssh / rainman_public.pub
  3. ssh公開鍵を、それが存在する領域を除くすべての領域にアップロードします。次に、Pythonを使用してそれをエクスポートします。以下はコードです:
import os

regions=["us-east-1","us-east-2","us-west-1","us-west-2","ap-east-1","ap-south-1","ap-northeast-2","ap-southeast-1","ap-southeast-2","ap-northeast-1","ca-central-1" ,"eu-central-1","eu-west-1","eu-west-2","eu-west-3","eu-north-1","sa-east-1"]

for region in regions:
    os.system("aws ec2 import-key-pair --key-name rainman_key --public-key-material file://rainman_public.pub --region "+region)**
于 2019-04-26T11:19:55.367 に答える
0

コピーする必要のあるpemファイルを他のリージョンにアップロードしてから...

# chmod 400 /home/ec2-user/mydec15a.pem

# ssh-keygen -y -f /home/ec2-user/mydec15a.pem >> ~/.ssh/MySSHKeyPair.pub

#  aws ec2 import-key-pair --key-name mydec15a --public-key-material file://~/.ssh/MySSHKeyPair.pub --region us-west-2
于 2018-11-28T13:36:13.857 に答える
0

また、これを拡張してリージョンリストを実行し、リージョンのリストを動的に取得することもできます...

for region in $(aws ec2 describe-regions --all-regions --query "Regions[].{Name:RegionName}" --output text | tr '\n' ' '); do
aws ec2 import-key-pair --key-name MYKEYNAME --public-key-material file://~/.ssh/MY_PUB_KEY.pub --region $region; done
于 2019-11-14T23:16:41.963 に答える