AWS への SSH アクセスはデフォルトの id_rsa.pub では機能しますが、ssh-keygen を使用して生成されたキーでは機能しません。

AWS への SSH アクセスはデフォルトの id_rsa.pub では機能しますが、ssh-keygen を使用して生成されたキーでは機能しません。

こんにちは。私はここで質問を投稿したことがありませんが、次のようにパスワードを入力せずに AWS インスタンスにアクセスしようとしていますが、いくつか問題が発生しています。

$ ssh -i ~/.ssh/id_rsa_aws.pub ubuntu@ipaddresshere

ただし、次のようにキーを生成し、プロンプトが表示されたときにパスワード フィールドを空白のままにしたにもかかわらず、パスワードの入力を求められます。

$ ssh-keygen -t rsa -b 1024

サーバーにアクセスするときに、パスワードの空白フィールドを入力するとアクセスが拒否され、パスワードを入力すると値の再入力が求められるので、空白のパスワードは受け入れられますが、キーは拒否されるものと考えられます。

の内容を に保存しましたがid_rsa_aws.pubauthorizedkeys2すべての権限が正しく設定されていると思います。

もう少しテストを行うために、以前に別のインスタンス用に生成した別のキーを使用し、id_rsa.pubそれを呼び出してコピーしたところauthorizedkeys2、問題なくアクセスできました。

キーの権限は同じです。

他のキーは機能するのに、私が生成しているキーは機能しないのはなぜですか?

私は大体以下のリンクに従いましたが、唯一の違いはid_rsa.pubとは異なるIDファイルを使用していることです。

https://forums.aws.amazon.com/message.jspa?messageID=211493

答え1

さて、ここではいくつかの問題が起こっています。一つずつ解決していきます。

$ ssh -i ~/.ssh/id_rsa_aws.pub ubuntu@ipaddresshere

最初の問題はここにあります。あなたのIDファイルは公開鍵ファイルではありません。あなたのIDファイルはプライベートキー ファイル。したがって、実行するコマンドは次のようになります。

$ ssh -i ~/.ssh/id_rsa_aws ubuntu@ipaddresshere

id_rsa_aws.pub の内容を authorizedkeys2 に保存しており、すべての権限が正しく設定されていると考えています。

2 番目の問題はここにあります。authorizedkeys2は、sshd が公開キー ファイルを探す場所ではありません。おそらくauthorized_keys2(アンダースコアに注意) を意味していると思いますが、それでも正しい場所ではありません (機能する可能性はありますが)。このファイルは、 RSA キーと DSA キーの両方を保持するauthorized_keys2単一の統合ファイルに置き換えられ、かなり前から非推奨になっています。~/.ssh/authorized_keys

関連情報