1.3. OpenSSH サーバーで鍵ベースの認証を唯一の方法として設定する


システムのセキュリティーを強化するには、OpenSSH サーバーでパスワード認証を無効にして鍵ベースの認証を有効にします。

警告

鍵認証が正しく機能することを確認せずにパスワード認証を無効にすると、サーバーにアクセスできなくなる可能性があります。この設定を適用する前に、SSH キー認証を徹底的にテストしてください。また、テスト中は現在のセッションを開いたままにしておき、必要に応じて変更を元に戻せるようにしてください。

前提条件

  • openssh-server パッケージがインストールされている。
  • サーバーで sshd デーモンが実行されている。
  • 鍵を使用して OpenSSH サーバーに接続できる。

    詳細は、SSH 鍵ペアの生成 セクションを参照してください。

手順

  1. テキストエディターで /etc/ssh/sshd_config 設定を開きます。以下に例を示します。

    # vi /etc/ssh/sshd_config
  2. PasswordAuthentication オプションを no に変更します。

    PasswordAuthentication no
  3. 新しいデフォルトインストール以外のシステムでは、PubkeyAuthentication パラメーターが設定されていないか、yes に設定されていることを確認します。
  4. KbdInteractiveAuthentication ディレクティブを no に設定します。

    設定ファイル内の該当するエントリーはコメントアウトされており、デフォルト値は yes となっています。

  5. NFS がマウントされたホームディレクトリーで鍵ベースの認証を使用するには、SELinux ブール値 use_nfs_home_dirs を有効にします。

    # setsebool -P use_nfs_home_dirs 1
  6. sshd デーモンをリロードし、変更を適用します。

    # systemctl reload sshd
  7. リモート接続している場合は、現在のセッションを開いたまま、別のターミナルで新しい SSH セッションを開いて設定をテストします。新しい接続が失敗した場合は、既存のセッションで行った変更を元に戻すことができます。

検証

  1. パスワード認証が無効になっていることを確認します。

    # sshd -T | grep -i passwordauthentication
    passwordauthentication no
  2. キーボード対話型認証が無効になっていることを確認します。

    # sshd -T | grep -i kbdinteractiveauthentication
    kbdinteractiveauthentication no
  3. 別のシステムから、パスワード認証を使用して接続を試み、接続が拒否されていることを確認します。

    $ ssh -o PreferredAuthentications=password <username>@<server>
    <username>@<server>: Permission denied (publickey).

    公開鍵認証のみが許可されているため、接続は拒否されました。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る