Linux
 Computer >> コンピューター >  >> トラブルシューティング >> Linux

SSH 権限拒否エラーの解決:安全なログインのためのステップバイステップ ガイド

SSH キー (シェル セキュア) は、セッションを認証し、ローカル マシンと SSH サーバー間の接続を確立するために SSH プロトコル内で使用されます。通常のフローでは、このサーバーを確立する最良の方法は、公開キーを使用することです。サーバー接続が確立されると、SSH によって各ログイン時のパスワード要件がなくなり、そのサーバーとの接続が自動的に確立されます。

SSH 許可が拒否されました。もう一度お試しくださいエラー

ただし、公開キーの使用中に、SSH クライアントの接続リクエストがサーバーによって拒否される場合があり、SSH 権限拒否エラーが発生する可能性があります。

この記事では、「SSH 権限が拒否されました」エラーを修正するためのさまざまな解決策を紹介しますが、その前に、このエラーの理由を見てみましょう。

このエラーが発生する原因はいくつか考えられます。最も一般的な理由の 1 つは、SSH サーバーでパスワード認証が無効になっていることです。

このエラーのもう 1 つの一般的な理由は、「ssh」フォルダーにアクセスできないことです。これは本質的に、Authorized_keys へのアクセスができないことを意味します。 無効になっています。

解決策 1:SSH サーバーでパスワード認証を許可する

前述したように、サーバーがパスワード認証による SSH 接続を有効にしていない場合、接続は失敗する可能性が高くなります。

<オル>
  • これを回避するには、SSH サーバーに進み、その PC \ サーバーから次のコマンドを使用して構成ファイルを開きます:
    sudo nano /etc/ssh/sshd_config

    この設定コマンドはターミナルで開きます。

    SSH 設定ファイル
  • この設定ファイルで、「Password Authentication」という行を見つけ、末尾の「#」記号を削除して行の「コメントを解除」します。 Locate PasswordAuthentication Activate PasswordAuthentication
  • それが完了したら、「CTRL + O」を押してから「CTRL + X」を押して構成ファイルを保存し、終了します。その後、次のステップは、次のコマンドを使用して SSH サービスを再起動することです:
    sudo systemctl restart sshd
    SSH サービスを再起動します
  • それが完了したら、クライアントから SSH サーバーに再度接続すると、次の結果が得られます:SSH サーバーが接続されました
  • エラーは正常に解決され、SSH サーバーに接続されました。

    解決策 2:公開キー認証を有効にする

    場合によっては、ユーザーは、エラー状態が「SSH 許可が拒否されました (公開キー)」になるというエラーの変更またはバリエーションを受け取ることがあります。このエラーは、SSH サーバーで公開認証が有効になっていないことが原因で発生します。

    <オル>
  • このような場合は、SSH サーバー PC に移動し、次のコマンドを使用して設定ファイルを開きます:
    sudo nano /etc/ssh/sshd_config

    設定ファイルで、root ログインを無効にし、「PublicKeyAuthentication」を有効にするだけです。

    RootLogin と PubkeyAuthentication を構成する
  • その後、UsePAM オプションも設定ファイルで有効になっていることを確認します:UsePAM 設定を有効にする
  • 再度、「CTRL + O」、「CTRL + X」を使用してファイルを保存して終了し、コマンド
     sudo nano /etc/ssh/sshd_config
    を使用して SSH のサービスを再起動します。
  • それが完了したら、接続を再試行すると、次の結果が得られます。
    SSH サーバー接続に成功しました
  • SSH 許可が拒否されました (公開キー) エラーは解決されました。

    解決策 3:SSH ディレクトリへのアクセス許可を許可する

    多くの場合、公開キーは「ssh」ディレクトリ内のauthorized Keysサブディレクトリ内に保存されます。このサブディレクトリまたはディレクトリ全体の権限が正しくない場合、SSH接続は最終的にエラーを返します。

    <オル>
  • そのような場合は、次のコマンドを使用して「authorized_keys」ディレクトリの権限を変更するだけです:
    sudo chmod 600 ~/.ssh/authorized_keys

    このコマンドは、承認されたキーの読み取りおよび書き込み権限を有効にします。 

  • その後、コマンド
    sudo chmod 700 ~/.ssh
    を使用して親ディレクトリへの実行権限を与えます。

    これらのコマンドを実行した後、SSH サーバーとの SSH 接続を試みて、次の結果を取得します。

    SSH サーバーに接続されています
  • 前哨基地はエラーが解決されたことを示しています

    SSH 権限が拒否された場合のボーナス修正

    「許可が拒否されました」エラーは、SSH サーバーのパスワードが正しくない場合に発生することがあります。これは主にタイプミスが原因で発生しますが、場合によってはサーバーがパスワードを変更し、クライアントがそれに気づいていない場合もあります。このような場合、ユーザーが SSH 接続のパスワードを入力すると、端末に次のエラーが表示されます。

    パスワードを再試行「間違ったパスワードが入力されました」

    このような場合は、SSH サーバー サポートに連絡して、パスを変更したかどうかを尋ねるか、タイプミスがないかどうかを再確認してください。その後、間違いを推測して SSH サーバーに接続できるようになります。

    SSHサーバーが実行中です

    SSH 権限拒否は新しいものではなく、主にパスワード認証が有効になっていないこと、公開キー認証が有効になっていないこと、さらに「ssh」または「authroized_keys」ディレクトリに対する権限が間違っていることが原因で発生します。このガイドでは、エラーを修正して接続を続行するために使用できる解決策について詳しく説明します。さらに、このエラーは、SSH サーバーによるパスワードの変更、またはタイプミスによって発生する可能性もあります。この場合、SSH サーバーのサポートに連絡するか、タイプミスがないことを確認してパスワードを再入力することが最善です。

    著者について

    SSH 権限拒否エラーの解決:安全なログインのためのステップバイステップ ガイド

    ムハマド・ズビャン

    Muhammad Zubyan は、7 年以上の豊富な経験を持つ認定 Google IT サポート プロフェッショナルです。彼は 1,500 台以上のコンピュータに取り組み、Windows 関連の問題やエラーの複雑な根本原因を検出してトラブルシューティングできる貴重な洞察を獲得しました。彼は上級編集者として Appuals を管理することに加えて、現在、ゲーマーとカジュアル ユーザーの両方に同様に対応する独自のゲーム最適化プログラムを開発しています。


    1. Ubuntu で「バイナリ ファイルを実行できません:実行形式エラー」を解決するためのクイック ガイド

      公式の apt-get リポジトリを使用している場合にはこのようなことは起こらないはずですが、インターネットからソフトウェアをダウンロードして実行すると、 恐ろしいbash:./nameOfProgram:バイナリ ファイルを実行できません:Exec フォーマット エラーが表示される可能性があります。 。このエラーは、通常、bash:./nameOfProgram.sh:許可が拒否されましたというエラーが続きます。 またはそれに類するものは、ダウンロードしたバイナリと Ubuntu が正しく接続できなかったことを示します。これは、一見有効な Linux バイナリですが、カーネルが現在サポートし

    2. MTP 経由で Android スマートフォンやタブレットから Ubuntu にファイルを転送する:ステップバイステップ ガイド

      Google Android、さらには新しい Android x86 および Android x86_64 プラットフォームを使用するデバイスは、Ubuntu と同じカーネルに基づいています。どちらも GNU/Linux オペレーティング システムの実装であり、通常、それらの間のファイル転送は非常に簡単です。携帯電話やタブレットの USB コードを Ubuntu PC に直接接続できれば、通常は問題なくファイルを送信できます。これは、デュアルブートかどうかに関係なく、Ubuntu をインストールした Macintosh マシンでも機能します。 ファイル マネージャーの代わりにメディア転送プロ