権限が拒否されました(公開鍵)。ローカル Ubuntu から Amazon EC2 サーバーへの SSH

権限が拒否されました(公開鍵)。ローカル Ubuntu から Amazon EC2 サーバーへの SSH

Amazon EC2インスタンス上のクラウドで実行されているアプリケーションのインスタンスがあり、ローカルUbuntuから接続する必要があります。ローカルUbuntuとラップトップでは問題なく動作しますPermission denied (publickey).違うローカル Ubuntu。

1 つのインスタンスへの IP アクセスが制限されている Amazon EC2 のセキュリティ設定に問題があるか、証明書を再生成する必要があるのではないかと考えています。

権限拒否エラーの解決策を知っている人はいますか?

答え1

このような状況で最初に行うべきことは、-vのオプションを使用してssh、どのタイプの認証が試行され、結果がどうなるかを確認することです。これで状況が分かりましたか?

質問の更新で、「別のローカル Ubuntu 上」と書かれています。SSH 秘密鍵を他のマシンにコピーしましたか?

答え2

明示的に言及されていないが、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

ジェーンはファイルの所有者ではないことに注意してください.ssh。これを修正するには

chown -R jane:jane /home/jane/.ssh

こうした種類のファイルシステム権限の問題は では表示されずssh -v、ログ レベルを DEBUG に設定するまで sshd ログにも表示されません (!)。

  • 編集します/etc/ssh/sshd_config。どこかに次の行を読み込む必要がありますLogLevel DEBUG。ディストリビューションによって提供されるメカニズムを使用して、SSH サーバーをリロードします。( service sshd reloadRHEL/CentOS/Scientific の場合) 正常なリロードでは、既存のセッションは切断されません。
  • もう一度認証をお試しください。
  • 認証機能のログがどこに保存されるかを調べて、それを読みます。(記憶が正しければ、/var/log/auth.logDebian ベースのディストリビューション、/var/log/secureRHEL/CentOS/Scientific の場合)

ファイルシステムの権限エラーを含むデバッグ出力により、何が問題なのかを判別しやすくなります。/etc/ssh/sshd_config完了したら、変更を元に戻すことをお忘れなく。

答え3

オプションを追加するのを忘れたため、このエラーが発生しました-l。ローカルのユーザー名がリモート システムのものと同じではありませんでした。

これはあなたの質問への答えではありませんが、私は自分の問題に対する答えを探しにここに来ました。

答え4

より読みやすいのはssh -v(もちろん私の意見ですが) ですtail -f /var/log/auth.log。これは、接続しようとしているサーバーで、接続を試行中に実行する必要があります。プレーンテキストでエラーが表示されます。

これは私の問題を解決するのに役立ちました:

xx.yy.com のユーザー [ユーザー名] は、AllowGroups にユーザーのグループがリストされていないため許可されません。

関連情報