明示的に言及されていないため、sshdはデフォルトでauthorized_keys
ファイルのアクセス許可に対して非常に厳しいです。したがって、ユーザー以外のユーザーauthorized_keys
が書き込み可能であるか、ユーザー以外のユーザーが書き込み可能にできる場合、認証は拒否されます(sshdがで構成されている場合を除くStrictModes no
)
「書き込み可能」とは、親ディレクトリのいずれかがユーザー以外のユーザーに書き込み可能な場合、それらのディレクトリの変更を許可されたユーザーは、authorized_keysを変更/置換できるように権限の変更を開始できることを意味します。
さらに、/home/username/.ssh
ディレクトリがユーザーによって所有されていないため、ユーザーにキーを読み取る権限がない場合、問題が発生する可能性があります。
drwxr-xr-x 7 jane jane 4096 Jan 22 02:10 /home/jane
drwx------ 2 root root 4096 Jan 22 03:28 /home/jane/.ssh
janeは.ssh
ファイルを所有していないことに注意してください。これを修正する
chown -R jane:jane /home/jane/.ssh
これらの種類のファイルシステムのアクセス許可の問題はには表示されssh -v
ず、ログレベルをDEBUGに設定するまで、sshdログ(!)にも表示されません。
- 編集
/etc/ssh/sshd_config
。LogLevel DEBUG
どこかで読み込む行が必要です。ディストリビューションが提供するメカニズムを使用してSSHサーバーをリロードします。(service sshd reload
RHEL / CentOS / Scientificで。)グレースフルリロードは、既存のセッションをドロップしません。
- もう一度認証してみてください。
- 認証機能のログがどこにあるかを調べて、それらを読み取ります。(IIRC、
/var/log/auth.log
Debianベースのディストリビューション、/var/log/secure
RHEL / CentOS / Scientificで。)
ファイルシステムのアクセス許可エラーを含むデバッグ出力で何が問題なのかを簡単に解決できます。変更を元に戻すことを忘れないでください/etc/ssh/sshd_config
!