ホームページ >運用・保守 >Linuxの運用と保守 >キー認証を使用して CentOS サーバーでより安全な SSH ログインを実装する方法

キー認証を使用して CentOS サーバーでより安全な SSH ログインを実装する方法

王林
王林オリジナル
2023-07-05 18:15:071891ブラウズ

CentOS サーバーでキー認証を使用してより安全な SSH ログインを実現する方法

サーバー管理では、システムのセキュリティを確保することが重要です。 SSH (Secure Shell) は、Linux および UNIX サーバーへのリモート ログインに使用される暗号化されたネットワーク プロトコルです。サーバーのセキュリティをさらに強化するために、パスワード ログインの代わりにキー認証を使用できます。この記事では、CentOS サーバーでより安全な SSH ログインを実装する方法を紹介し、対応するコード例を示します。

ステップ 1: キー ペアの生成

まず、ローカル マシン上でキー ペアを生成します。ターミナル ウィンドウを開き、次のコマンドを入力します。

ssh-keygen -t rsa

このコマンドは、RSA アルゴリズムを使用してキー ペアを生成します。 Enter キーを押して、キーの保存パスとファイル名を確認します。次に、キーのパスワードを入力するように求められます。パスワードを設定するか、空白のままにして Enter キーを押してキーの生成を続行するかを選択できます。

生成に成功すると、指定したパスに id_rsa (秘密キー) と id_rsa.pub (公開キー) の 2 つのファイルが見つかります。

ステップ 2: 公開キーをサーバーにコピーする

次に、公開キーを CentOS サーバーにコピーします。次のコマンドを使用して、公開キーをサーバーにコピーします。

ssh-copy-id user@server_ip_address

「user」を CentOS サーバー上のユーザー名に置き換え、「server_ip_address」をサーバーの IP アドレスに置き換えます。認証のためにパスワードの入力を求められます。

公開キーが正常にコピーされると、次の出力が得られます:

Number of key(s) added: 1

ステップ 3: SSH サービスを構成する

サーバー上で、SSH 構成ファイルを開いて設定します。それをアップします。次のコマンドでファイルを開きます:

sudo vi /etc/ssh/sshd_config

次の行を見つけてコメントが解除されていることを確認し、次のように値を設定します:

PubkeyAuthentication yes
PasswordAuthentication no
PermitRootLogin no

コメントを解除すると、公開キー認証が許可され、パスワード認証が無効になります。 、root ユーザーとして直接ログインすることを禁止します。変更を加えた後、ファイルを保存して閉じます。

次に、SSH サービスを再起動して変更を適用します。

sudo systemctl restart sshd

ステップ 4: SSH ログインをテストする

これで、設定は完了です。次のコマンドを使用して、SSH ログインが成功したかどうかをテストできます。

ssh user@server_ip_address

「user」をユーザー名に置き換え、「server_ip_address」をサーバーの IP アドレスに置き換えます。システムは秘密キーを使用して認証を試みます。

すべてが正しく設定されていれば、パスワードを入力せずに CentOS サーバーに正常にログインできます。

追加のヒント:

  • サーバーのセキュリティをさらに強化するには、パスフレーズを使用して秘密キーを保護します。これにより、たとえ秘密鍵が盗まれても認証を通過できなくなります。
  • 秘密キー ファイルの権限が 600、つまり所有者のみが読み書きできるように設定されていることを確認してください。
  • 複数のユーザーを認証するには、異なるキー ペアを使用します。
  • セキュリティを強化するために、キー ペアを定期的に交換してください。

概要:

キー認証を使用すると、サーバーのセキュリティが大幅に向上し、悪意のあるログインやパスワードのブルート フォース クラッキングを防ぐことができます。この記事では、CentOS サーバーでより安全な SSH ログインを実装する方法を説明し、対応するコード例を示します。これらの手順に従うことで、サーバーのキー認証を簡単に設定し、システムを安全に保つことができます。

以上がキー認証を使用して CentOS サーバーでより安全な SSH ログインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。