同じマシンに 2 人のユーザーがいて、ユーザー #2 に SSH を設定しようとしています。SSH は 2 番目のユーザーのパスワードを要求していたため、ユーザー #1 の .rsa ファイルをユーザー #2 にコピーしました。ファイルと権限は同一で、ユーザー #1 にはパスワードは要求されませんでしたが、SSH はユーザー #2 にパスワードを要求し続けました。同じマシンに同じ .rsa ファイルを持つ 2 人のユーザーが SSH から異なる応答を受け取る原因は何でしょうか。
答え1
ルートからホーム ディレクトリの .ssh ディレクトリまでのすべてのディレクトリには、「グループ」または「その他」のいずれにも書き込み権限が付与されてはなりません。これは、セキュリティ強化のための ssh の要件です。権限が設定されていない場合、攻撃者は、書き込み権限を持つ最初のディレクトリから .ssh に侵入して変更またはコピーし、秘密キーを任意の別のユーザーにコピーしたり、キーを任意のものに更新したりして、ユーザーになりすまし、ssh を使用してユーザーとしてログインし、パスワードを要求されないようにすることができます。したがって、.ssh キーは、適切な権限で適切に保護されていないと機能しません。
答え2
私は答えています予測user1 と user2 はリモート サーバー上にあり、ローカルで秘密キーを使用してそのサーバーに接続していることを確認します。
代わりに、ローカルの user1/user2 アカウントを使用してリモート サーバーに接続しようとしている場合、私の回答は適用されません。
リモート サーバーで、公開キーの内容を次の場所に追加する必要があります。
~/.ssh/authorized_keys
ファイルの内容は次のようになります。
答え3
以前、誰かが妥当な回答をしていました (削除されたに違いありません)。.rsa とそれに含まれるファイルの権限が間違っているというものでした。これは問題ではありませんでしたが、ほぼ正解でした。.rsa につながるすべてのフォルダーに適切な権限が必要であることがわかりました。
これらを同じにすると、プロンプトなしの SSH が機能し、最初の接続ではホスト キーを受け入れるようにプロンプトが表示されますが、次の接続ではプロンプトは表示されません。
[root@computer ~]# ls -ld /home/user2 /home/user1
drwxrwx--- 24 user2 user2 4096 Jun 2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun 2 13:06 /home/user1
[root@computer ~]# chmod -v 755 /home/user2
mode of `/home/user2' changed to 0755 (rwxr-xr-x)
[root@computer ~]# ls -ld /home/user2 /home/user1
drwxr-xr-x 24 user2 user2 4096 Jun 2 13:13 /home/user2
drwxr-xr-x 97 user1 user1 12288 Jun 2 13:06 /home/user1