SSHは公開/秘密鍵を使用しません。

SSHは公開/秘密鍵を使用しません。

次のような場合でも、SSHを実行するにはまだパスワードが必要なシステムがあります。

  1. 私の公開鍵はリモートauthorized_keysサーバー上のファイルに正しく存在します。
  2. id_rsa私の秘密鍵は私の.sshディレクトリに保存されます。
  3. ローカルクライアントとリモートサーバーに対する権限が正しい。これには、ホームディレクトリ、.sshディレクトリ、authorized_keysファイル、キーファイル自体が含まれます。
  4. SELinux はクライアントとサーバーの両方で無効になります。

また、/var/log/secureサーバーはログインしようとするたびに次のエラーを報告します。

sshd[17110]: error: Could not get shadow information for <USER>

実際のユーザー名を文字列に変更しました<USER>

この問題の原因は何であり、SSHキーが正しく機能するようにするにはどうすればよいですか?

ベストアンサー1

問題は公開/秘密鍵の不一致です。クライアントシステムで。私は以下を実行してこの問題を解決しました。

$ cd ~/.ssh
$ ssh-keygen -y -f id_rsa > id_rsa.pub

これにより、既存の秘密鍵に対応する公開鍵が生成され、ファイルに書き込まれ、公開/秘密鍵がid_rsa.pub再照合されます。

私が見つけたいくつかのStack Exchangeの答えで私の質問に対する答えが見つからなかったので、ここで私の質問に答え/質問することにしました。どうやってこれが起こったのですか?過去にSSHキーを持っていましたが、ssh-keygenある時点で誤って再実行したことが起こりました。これにより、新しい公開/秘密鍵ペアが生成されます。私はこれに気づき、古い秘密鍵を入れ直して問題を解決しようとしました。サーバー上のファイルにはまだ古い公開鍵があるため、authorized_keys変更する必要はありません。残念ながら、クライアントの公開鍵を変更しなかったため、現在の状況が発生しました。

おすすめ記事