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

Ubuntu20.04でSSHの多要素認証を設定する

SSHは、セキュリティで保護されていないネットワークを介してリモートLinuxシステムを安全に接続および管理するために使用される「セキュアシェルプロトコル」です。システム管理者がリモートサーバーで日常のタスクを実行することは非常に便利です。したがって、SSHサーバーを保護することは、システム管理者にとって不可欠な部分です。

デフォルトでは、パスワードまたは秘密鍵を使用してSSHに接続できます。つまり、これは単一要素認証にすぎません。したがって、SSHサーバーに多要素認証を実装して、セキュリティの層を追加することをお勧めします。多要素認証では、システムユーザーパスワードとモバイルデバイスで生成された別のパスワードを提供する必要があります。これにより、サーバーのセキュリティが大幅に強化されます。

このチュートリアルでは、Ubuntu20.04VPSでSSHの多要素認証を設定する方法を示します。

前提条件
  • Ubuntu 20.04 VPS(SSD 2 VPSプランを使用します)
  • rootユーザーアカウントへのアクセス(またはroot権限を持つ管理者アカウントへのアクセス)

ステップ1:サーバーにログインしてサーバーOSパッケージを更新する

まず、rootユーザーとしてSSH経由でUbuntu20.04サーバーにログインします。

ssh root@IP_Address -p Port_number

「IP_Address」と「Port_number」をサーバーのそれぞれのIPアドレスとSSHポート番号に置き換える必要があります。さらに、必要に応じて「root」を管理者アカウントのユーザー名に置き換えます。

開始する前に、サーバーにインストールされているすべてのUbuntuOSパッケージが最新であることを確認する必要があります。これを行うには、次のコマンドを実行します。

apt-get update -y
apt-get upgrade -y

ステップ2:Google認証システムをインストールする

多要素認証にはGoogle認証システムを使用します。そのため、システムにGoogleAuthenticatorPAMモジュールをインストールする必要があります。次のコマンドを実行してインストールできます:

apt-get install libpam-google-authenticator -y

パッケージがインストールされたら、次のコマンドを使用してGoogle認証システムを実行します。

google-authenticator

インストール中に、次の質問が表示されます:

Do you want authentication tokens to be time-based (y/n) y
Warning: pasting the following URL into your browser exposes the OTP secret to Google:
  https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@ubuntu2004%3Fsecret%3D4XXQ2QA6FRV72SDM2JWSZTQJE4%26issuer%3D

yを押します Enterを押します 続ける。次の画面にQRコードが表示されます:

すべての質問に答えて、入力を押してください 以下に示すようにプロセスを終了します:

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y

By default, a new token is generated every 30 seconds by the mobile app.
In order to compensate for possible time-skew between the client and the server,
we allow an extra token before and after the current time. This allows for a
time skew of up to 30 seconds between authentication server and client. If you
experience problems with poor time synchronization, you can increase the window
from its default size of 3 permitted codes (one previous code, the current
code, the next code) to 17 permitted codes (the 8 previous codes, the current
code, and the 8 next codes). This will permit for a time skew of up to 4 minutes
between client and server.
Do you want to do so? (y/n) y

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting? (y/n) y

ステップ3:Google認証システムアプリケーションをインストールする

次に、スマートフォンにGoogle認証システムアプリケーションをインストールする必要があります。インストールしたら、携帯電話でGoogle認証システムを開き、上記のQRコードをスキャンします。 QRコードをスキャンすると、次のように携帯電話に6桁のワンタイムパスワードが表示されます。

このパスワードは30秒以内に期限切れになるため、SSH経由でUbuntuサーバーにログインするには、Google認証システムアプリケーションを開いて新しいパスワードを確認する必要があります。

上記の出力には、秘密鍵、検証コード、緊急スクラッチコードも表示されます。後で使用できるように安全な場所に保存することをお勧めします。

Your new secret key is: 4XXQ2QA6FRV72SDM2JWSZTQJE4
Your verification code is 423832
Your emergency scratch codes are:
  96469497
  84504151
  61871048
  79931657
  71052210

ステップ4:Google認証システムを使用するようにSSHを構成する

次に、Google認証システムを使用するようにSSHを構成する必要もあります。ファイル/etc/ ssh / sshd_configを編集して設定できます:

nano /etc/ssh/sshd_config

次の行を変更します:

UsePAM yes
ChallengeResponseAuthentication yes

終了したら、ファイルを保存して閉じます。次に、SSHサービスを再起動して、構成を適用します。

systemctl restart sshd

次に、/ etc / pam.d / sshdファイルを編集し、SSHサービスのPAMルールを定義する必要があります。

nano /etc/pam.d/sshd

@include common-authの後に次の行を追加します :

auth required pam_google_authenticator.so

ファイルを保存して閉じます。

ステップ:52要素認証をテストする

この時点で、SSHサーバーは多要素認証で構成されています。接続してテストするときが来ました。

リモートシステムで、ターミナルを開き、以下に示すようにSSH経由でサーバーにログインします。

ssh root@ssh-server-ip

Google認証システムによって生成されたシステムパスワードと確認コードを提供するように求められます。 Google認証システムアプリに表示されるシステムパスワードを入力し、 Enterを押します 以下に示すようにサーバーにログインするには:

おめでとう!これで、SSHサーバーが多要素認証で保護されました。

もちろん、マネージドホスティングサービスのいずれかを使用する場合は、Ubuntu VPSでSSHの多要素認証を設定する必要はありません。その場合は、専門のLinux管理者にSSHの多要素認証を設定するよう依頼するだけです。 Ubuntuで、あなたのために。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。

PS。 UbuntuでSSHの多要素認証を設定する方法に関するこの投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Panels
  1. Ubuntu22.04でWireGuardを設定する方法

  2. Ubuntu16.04でTeamSpeakサーバーをセットアップする方法

  3. Ubuntu16.04で2要素認証を使用してSSHを保護する

  1. UbuntuServerのインストール後のシンプルなBASHスクリプト

  2. Ubuntu20.04にsftpサーバーをインストールしてセットアップする方法

  3. Ubuntu16.04でSSHキーを設定する方法

  1. Ubuntu18.04でSSHキーを生成する方法

  2. Ubuntu20.04SSHサーバー

  3. 初心者向けの Ubuntu サーバー