SSHアクセス拒否(パブリックキー)エラーを解決する方法

How Resolve Ssh Permission Denied Error



SSHキーは、ログインのたびにパスワードを必要とせずにSSHセッションを認証するために使用する優れた方法です。ただし、すべてのテクノロジと同様に、SSHキーは完全ではなく、使用時にエラーが発生する可能性があります。 SSHキーを使用する際の最も一般的なエラーの1つは、アクセス許可が拒否された(公開キー)エラーです。

この記事では、このエラーのさまざまな理由について説明し、エラーを修正するための簡単な手順を示します。







エラー1:承認されたキーとディレクトリのアクセス許可

このエラーの原因の1つは、.sshディレクトリとauthorized_keysファイルに設定された権限と所有権である可能性があります。



この問題を解決するには、.sshディレクトリのアクセス許可を700に設定し、authorized_keysのアクセス許可を6ooに設定します。



sudo chmod 700/.sshsudo chmod 600authorized_keys

エラー2:SSHの不正な構成

公開鍵エラーのもう1つの一般的な原因は、sshd_configファイルの構成が正しくないことです。この問題を解決するには、/ etc / ssh / sshd_configファイルを編集して、次のエントリを変更します。





#PermitRootLogin禁止パスワード
#PasswordAuthenticationはい

上記のエントリは、次のようになります。

PermitRootLoginはい

PasswordAuthenticationはい

構成を保存して、サービスを再起動します。



sudosystemctl restart sshd.service

エラー3:キーがありません

パブリックキーのアクセス許可が拒否されたエラーのもう1つの考えられる原因は、ローカルマシンからキーが欠落していることである可能性があります。サーバーのauthorized_keysファイルにキーを追加しても、対応する秘密キーがない場合は、エラーが発生する可能性があります。

この問題を解決するには、次のように、ssh構成ファイルを編集し、公開鍵認証を無効にして、パスワードログインを有効にします。

PubkeyAuthenticationはい

#PasswordAuthenticationはい

次のエントリに変更します。

#PubkeyAuthenticationはい
PasswordAuthenticationはい

構成を編集したら、ファイルを保存して、SSHサービスを再起動します。

sudosystemctl restart sshd.service

キーが危険にさらされていることが確実な場合は、authorized_keysからキーを削除するか、SSHの失効したリストに特定のキーを追加できます。

結論

このクイックガイドでは、SSHでアクセス許可が拒否された(パブリックキー)エラーを引き起こす可能性のあるさまざまな問題に対処する方法を説明しました。この問題が解決しない場合は、他のトラブルシューティング方法を検討してください。