SSH公開鍵の検証に失敗しました。

SSH公開鍵の検証に失敗しました。

2人の他のユーザーとSSHを介して接続できるサーバーがあります。最初のユーザーに対して公開鍵認証を設定しましたが、正常に機能しますが、2番目のユーザーとしてログインできませんでした。このファイルの違いは、authorized_keys2番目のユーザーが2つのキーを持っていることです(どちらも検証に失敗します)。 .sshディレクトリと認証キーファイルの両方に755の権限があります。 SSH クライアントは認証したいキーを送信します。何が問題なのでしょうか?

答え1

まず、.sshディレクトリには700の権限が必要で、Authorized_keysファイルには600の権限が必要です。

chmod 700 .ssh
chmod 600 .ssh/authorized_keys

rootを使用してuserB用のファイルを生成した場合は、次のこともできます。

chown -R userb:userb .ssh

問題が解決しない場合は、SSHログファイルの出力を質問に投稿してください。回答を更新します。

Debian の場合:

less /var/log/auth

Red Hatの場合:

less /var/log/secure

答え2

次のメッセージが見つかりました/var/log/auth.log

Oct 22 13:27:58 hagyma sshd[27420]: User userb not allowed because account is locked

userbのパスワードを設定し、アカウントのロックを解除sudo passwd userbしました。

答え3

私はパーティションが珍しい方法でマウントされたので無視sshdされました。すべてを試して正しい権限を設定し、変更した後にのみ機能しました。~/.ssh/authorized_keys/homesshd_config

StrictModes no

答え4

私もSELinuxのために同じ問題に直面しました。

SELinuxを正しく設定するrestorecon -Rv ~/.sshか()無効にします(RedHatでは、/etc/selinux/configシステムを編集して再起動するか、setenforce 0次回の再起動までSELinuxを一時的に無効にするように入力する必要があります)。

関連情報