GNU/Linux >> Linux の 問題 >  >> Linux

拒否されたSSHの失敗したアクセス許可を修正する方法(publickey、gssapi-keyex、gssapi-with-mic)

はじめに

SSHサーバーでアクセス許可関連の設定を変更すると、SSHアクセス許可拒否エラーが表示されます。通常のシナリオには、新しいパッケージのインストールまたは新しいユーザーの作成が含まれます。

このチュートリアルでは、SSHアクセス許可拒否エラーのトラブルシューティングとSSHサーバーへの再接続の方法を学習します。

前提条件

  • ローカルマシンのSSHクライアントとリモートシステムのSSHサーバー
  • リモートサーバーにアクセスするためのユーザーアカウント(パスワードベースのログイン用)
  • sudoのユーザーアカウント またはルート 特権

SSHアクセスが拒否される原因(publickey、gssapi-keyex、gssapi-with-mic)とは何ですか?

サーバーにSSHで接続しようとすると、SSHアクセス拒否エラーが表示されます:

Permission denied (publickey,gssapi-keyex,gssapi-with-mic)

Permission deniedステートメントに続いて、ブラケットには、接続の開始時に失敗した認証方法の試行が含まれています。このエラーは、公開鍵が問題であることを示唆しており、誤解を招く恐れがあります。

エラーの理由の1つは、 sshd_configである可能性があります。 、SSHサーバー構成を含むファイル。もう1つの可能性は、 authorized_keys ファイルの権限が不十分です。このファイルには、サーバーへのSSH接続を許可されているクライアントの公開鍵のリストが含まれています。その結果、システムがファイルから読み取ることができないため、許可拒否エラーが発生します。

拒否されたSSHアクセス許可を修正する方法

どちらのソリューションにも、サーバー側で実行する必要のある手順が含まれています。サーバーでターミナルを開くことから始めて、以下の解決策の1つに進みます。

解決策1:パスワード認証を有効にする

パスワードを使用してSSHサーバーにアクセスする場合、アクセス拒否エラーを修正するための解決策は、 sshd_configでパスワードログインを有効にすることです。 ファイル。

これを行うには、テキストエディタでファイルを開きます。この例では、nanoエディターを使用しています:

sudo nano /etc/ssh/sshd_config

ファイルで、 PasswordAuthenticationを見つけます 行を入力し、 yesで終わることを確認します

ChallengeResponseAuthenticationを見つけます オプションを選択し、 noを追加して無効にします

行がコメント化されている場合は、ハッシュ記号 #を削除します コメントを外します。

ファイルを保存して終了します。

次のコマンドを入力して、SSHサービスを再起動します。

sudo systemctl restart sshd

解決策2:ファイルシステムのアクセス許可を変更する

セキュリティ上の懸念から、SSH認証方法としてパスワードベースのログインを使用することはお勧めしません。したがって、公開鍵認証方式のトラブルシューティングを行うため、次の解決策が望ましい場合があります。

まず、 sshd_configを開きます テキストエディタを使用したファイル:

sudo nano /etc/ssh/sshd_config

ファイルで、次のオプションが次のように設定されていることを確認してください。

PermitRootLogin no
PubkeyAuthentication yes

行の先頭にハッシュ記号を追加して、GSSAPI関連のオプションをコメントアウトします。

#GSSAPIAuthentication yes
#GSSAPICleanupCredentials no

また、 UsePAMを確認してください 行はyesに設定されています

UsePAM yes

ファイルを保存して、sshdサービスを再起動します:

systemctl restart sshd

次に、ホームフォルダに移動して、アクセス許可を確認します。

ls -ld

所有者の権限が読み取り、書き込み、実行に設定されていない場合( drwx------ )、chmodコマンドを使用して変更します:

chmod 0700 /home/[your-username]

次に、 .sshに移動します フォルダを作成し、権限を再確認します:

ls -ld

このディレクトリには、ファイル所有者の読み取り、書き込み、および実行のアクセス許可も必要です。それらを強制するには、 chmodを使用します もう一度:

chmod 0700 /home/your_home/.ssh

.ssh フォルダにはauthorized_keysが含まれています ファイル。次の方法で権限を確認してください:

ls -ld authorized_keys

ファイルの所有者には、読み取りと書き込みのアクセス許可が必要です。それらを設定するには、次を使用します:

chmod 0600 /home/[username]/.ssh/authorized_keys

ここで、キーペアを使用して再度ログインしてみてください。以下の出力は、ログイン試行が成功したことを示しています。


Linux
  1. ~/.ssh/known_hosts ファイルの問題のあるキーを修正する方法

  2. Gitがファイルを作成できません権限が拒否されました

  3. Git:インデックス ファイルを開くことができませんでした:git ステータスでアクセス許可が拒否されました。 Bitbucket でホスト

  1. maven:bash mvn 許可が拒否されました

  2. 私が所有するファイルへの「許可が拒否されました」?

  3. SSH - ~/.ssh/config ファイルに -t コマンドを含める方法

  1. エラーを修正する方法アクセスする権限がありません…

  2. SSH接続タイムアウトを増やす方法

  3. UbuntuでDocker権限拒否エラーを修正する方法