La 二要素認証(2FA)は、ソーシャルメディアで使用できるユニークなものではありません または他のウェブサイト。 このセキュリティ対策は、オペレーティングシステム内でも実装できます。
それが理由です 今日は、UbuntuのSSHでXNUMX要素認証を実装する方法を見ていきます よく知られているGoogleAuthenticatorを使用した派生物で、OpenSSHサーバーのセキュリティが大幅に向上します。
通常は、パスワードを入力するか、SSHキーを使用してシステムにリモートでログインする必要があります。
二要素認証(2FA)では、ログインするためにXNUMXつの情報を入力する必要があります。
したがって、SSHサーバーにログインするには、時間ベースのワンタイムパスワードも入力する必要があります。
このワンタイムパスワードは、IETF標準であるTOTPアルゴリズムを使用して計算されます。
Ubuntuおよび派生物でのGoogle認証システムのインストールと構成
実行する最初のステップは、システムにGoogle認証システムをインストールすることです。、システムでターミナルを開き(これは「Ctrl + Alt + T」のキーの組み合わせで実行できます)、その中に次のコマンドを入力します。
sudo apt install libpam-google-authenticator
インストールが完了しました 次のコマンドを使用して、新しくインストールしたアプリケーションを実行します。
google-authenticator
このコマンドを実行するとき、秘密鍵を割り当てることです。これにより、時間に基づいてトークンを使用するかどうかが尋ねられ、「はい」と答えます。
この後、 携帯電話のTOTPアプリを使用してスキャンできるQRコードが表示されます。
ここで 携帯電話でGoogle認証システムアプリケーションを使用することをお勧めします。ilなので、携帯電話のGooglePlayまたはAppleAppStoreからアプリケーションをインストールできます。
すでに携帯電話にアプリケーションがインストールされているので、QRコードをスキャンする必要があります。 QRコード全体をスキャンするには、ターミナルウィンドウを拡大する必要があることに注意してください。
QRコードは秘密鍵を表します、SSHサーバーとGoogle認証システムアプリでのみ認識されます。
QRコードがスキャンされると、携帯電話に一意の30桁のトークンが表示されます。 デフォルトでは、このトークンはXNUMX秒間続き、SSH経由でUbuntuにログインするには入力する必要があります。
ターミナルでは、シークレットコード、確認コード、緊急スタートコードも確認できます。
この情報は、後で使用できるように安全な場所に保管することをお勧めします。 尋ねられる他の質問のうち、文字yを入力して「はい」と答えるだけです。
Google認証システムで使用するSSH構成
すでに上記を頼りに、 次に、Google認証システムを使用してシステムでSSH接続を使用できるようにするために必要な構成を行います。
ターミナルvで次のコマンドを入力します
sudo nano /etc/ssh/sshd_config
ファイル内 次の行を探し、次のようにこれらを「yes」に変更します。
UsePAM yes ChallengeResponseAuthentication yes
変更が行われたら、Ctrl + Oで行った変更を保存し、Ctrl + Xでファイルを閉じます。
同じ端末で、次のコマンドを使用してSSHを再起動します。
sudo systemctl restart ssh
デフォルトでは、認証ではログインするためにユーザーパスワードを入力する必要があります。
何のために SSHデーモンのPAMルールファイルを編集してみましょう。
sudo nano /etc/pam.d/sshd
このファイルの先頭に、パスワード認証を有効にする次の行が表示されます。
ChallengeResponseAuthentication
はいに設定する必要があります。
ワンタイムパスワード認証も有効にするには、次のXNUMX行を追加します。
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
ファイルを保存して閉じます。
これ以降、SSH接続を介してシステムにログインするたびに、ユーザーパスワードと確認コード(Google認証システムによって生成されたワンタイムパスワード)の入力を求められます。
こんにちは、かなり簡単なチュートリアルですが、sshで入力できなくなったすべての手順を実行すると、誤ったパスワードエラーがスローされ、2FAを要求することもできません。
私はUbuntuServer20.04を持っています