web-dev-qa-db-ja.com

ssh-copy-idは.pemファイルでは機能しません

いくつかのEC2インスタンスでSSH公開鍵をコピーしようとしています。

ssh-copy-idのマニュアルページを読んで、キーファイルを渡すと、プログラムは.pub拡張子がない場合に追加します。

生成されるAWSキーは.pem形式であり、次の回避策を使用できます。

ssh-keygen -y -f my-new-key.pem | ssh user@Host \
-i already-on-remote-server-key.pem 'cat > ~/.ssh/authorized_keys'

しかし、疑問は残ります... ssh-copy-idファイルで.pemを使用することは可能ですか、それとも回避策を使用することが唯一の解決策ですか?

1
fromthestone

ssh-copy-idssh-agentと一緒に使用できます。 my-new-key.pemを使用してssh-add ~/.ssh/my-new-key.pemファイルをエージェントにロードすると、ssh-copy-idがそれを新しいインスタンスにコピーします。

または、新しいssh-agentを実行して、何をコピーするかをより適切に制御することもできます。

~ $ ssh-agent bash -c "ssh-add ~/.ssh/my-new-key.pem; ssh-copy-id -i already-on-remote-server-key.pem user@Host"

1つの一方的なアドバイス-すべてのAWSリージョンでEC2キーを再利用して、生成および維持する必要のあるキーの数を減らすことができます:複数のリージョンでEC2キーペアを再利用する

お役に立てば幸いです:)

1
MLu