Google認証システムを使用してUbuntu 14.04でSSHの2要素認証(2FA)を設定する方法

SSHを介してサーバーにログインする方法はいくつかあります。メソッドには、パスワードログイン、キーベースのログイン、および2要素認証が含まれます。

2要素認証は、はるかに優れたタイプの保護です。コンピュータが侵害された場合でも、攻撃者はログインするためのアクセスコードを必要とします。

このチュートリアルでは、Google AuthenticatorとSSHを使用してUbuntuサーバーで2要素認証を設定する方法を学びます。

ステップ1:前提条件

  • Ubuntu 14.04サーバー(またはそれ以降)。
  • sudoアクセスを持つ非rootユーザー。
  • Google認証システムアプリがインストールされたスマートフォン(AndroidまたはiOS)。AuthyまたはTOTPベースのログインをサポートするその他のアプリを使用することもできます。

ステップ2:Google認証システムライブラリのインストール

サーバーがコードを読み取って検証できるようにするために、Ubuntuで利用可能なGoogle認証システムライブラリモジュールをインストールする必要があります。次のコマンドを実行します。

sudo apt-get update
sudo apt-get install libpam-google-authenticator

ステップ3:ユーザーごとにGoogle認証システムを構成する

モジュールを構成するには、次のコマンドを実行します。

google-authenticator

コマンドを実行すると、特定の質問が表示されます。最初の質問は:

Do you want authentication tokens to be time-based (y/n)

を押すyと、QRコード、秘密鍵、検証コード、緊急バックアップコードを取得します。

スマートフォンを取り出して、Google認証システムアプリを開きます。QRコードをスキャンするか、秘密鍵を追加して新しいエントリを追加できます。それが完了したら、バックアップコードを書き留めて、どこかに安全に保管してください。スマートフォンの置き忘れや破損が発生した場合は、これらのコードを使用してログインできます。

残りの質問についてはy.google_authenticatorファイルの更新、y同じトークンの複数使用の禁止、n時間ウィンドウの拡大、yレート制限の有効化を求められたら、を押してください。

マシン上のすべてのユーザーに対してステップ3を繰り返す必要があります。そうしないと、このチュートリアルを完了すると、ユーザーはログインできなくなります。

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

マシン上のすべてのユーザーがGoogleオーセンティケーターアプリを設定したので、SSHを設定して、現在の認証方法よりもこの認証方法を使用するようにします。

次のコマンドを入力してsshdファイルを編集します。

sudo nano /etc/pam.d/sshd

@include common-authを見つけて、以下のようにコメント化します。

# Standard Un*x authentication.
#@include common-auth

このファイルの最後に次の行を追加します。

auth required pam_google_authenticator.so

を押しCtrl + Xて保存し、終了します。

次に、次のコマンドを入力してsshd_configファイルを編集します。

sudo nano /etc/ssh/sshd_config

用語ChallengeResponseAuthenticationを見つけて、その値をに設定しますyes。また、用語を見つけてPasswordAuthenticationコメントを外し、その値をに変更しますno

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

次のステップは、ファイルの最後に次の行を追加することです。

AuthenticationMethods publickey,keyboard-interactive

を押して、ファイルを保存して閉じますCtrl + X。Google認証システムを使用するようにSSHサーバーを構成したので、再起動します。

sudo service ssh restart

サーバーに再度ログインしてみてください。今回は認証コードを要求されます。

ssh user@serverip

Authenticated with partial success.
Verification code:

アプリが生成するコードを入力すると、正常にログインできます。

注意

携帯電話を紛失した場合は、ステップ2のバックアップコードを使用してください。バックアップコードを紛失した場合は、.google_authenticatorVultrコンソールからログインした後、ユーザーのホームディレクトリの下のファイルでいつでも見つけることができます。

結論

多要素認証を使用すると、サーバーのセキュリティが大幅に向上し、一般的なブルートフォース攻撃の阻止に役立ちます。

他のバージョン



Leave a Comment

ヘルスケア2021における人工知能の影響

ヘルスケア2021における人工知能の影響

ヘルスケアにおけるAIは、過去数十年から大きな飛躍を遂げました。したがって、ヘルスケアにおけるAIの未来は、日々成長を続けています。

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

macOS Catalina 10.15.4サプリメントの更新により、解決するよりも多くの問題が発生しています

最近、Appleは問題を修正するための補足アップデートであるmacOS Catalina 10.15.4をリリースしましたが、このアップデートにより、Macマシンのブリックにつながる問題がさらに発生しているようです。詳細については、この記事をお読みください

原子力が必ずしも悪ではないことを証明する5つの例

原子力が必ずしも悪ではないことを証明する5つの例

原子力は、過去の出来事のために私たちが決して尊重しないことを常に軽蔑していますが、それは必ずしも悪ではありません。詳細については、投稿をお読みください。

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

AIはどのようにしてプロセス自動化を次のレベルに引き上げることができますか?

これを読んで、人工知能が小規模企業の間でどのように人気を博しているか、そして人工知能がどのように成長し、競合他社に優位に立つ可能性を高めているかを理解してください。

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

ジャーナリングファイルシステムとは何ですか、そしてそれはどのように機能しますか?

私たちのコンピューターは、ジャーナリングファイルシステムと呼ばれる組織化された方法ですべてのデータを保存します。これは、検索を押すとすぐにコンピューターがファイルを検索して表示できるようにする効率的な方法です。https://wethegeek.com/?p = 94116&preview = true

ビッグデータは人工知能をどのように変えていますか?

ビッグデータは人工知能をどのように変えていますか?

ビッグデータと人工知能は流行語ですが、それらがどのように相互に関連しているか知っていますか?さて、この記事を最後まで読んで、同じことを知ってください。

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartショッピングカートプラットフォームをUbuntu 16.04にインストールする方法

LiteCartは、PHP、jQuery、およびHTML 5で記述された無料のオープンソースのショッピングカートプラットフォームです。シンプルで軽量、使いやすいeコマースソフトウォー

DebianでNFS共有をセットアップする

DebianでNFS共有をセットアップする

NFSはネットワークベースのファイルシステムであり、コンピューターはコンピューターネットワークを介してファイルにアクセスできます。このガイドでは、NFを介してフォルダーを公開する方法について説明します

Fedora 28にMatomo Analyticsをインストールする方法

Fedora 28にMatomo Analyticsをインストールする方法

別のシステムを使用していますか?Matomo(旧Piwik)は、Google Analyticsのオープンな代替手段であるオープンソースの分析プラットフォームです。Matomoのソースはoでホストされています

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

UbuntuでNginxをセットアップしてライブHLSビデオをストリーミングする

HTTPライブストリーミング(HLS)は、Apple Inc.によって実装された非常に堅牢なストリーミングビデオプロトコルです。HLSは、ファイアウォール、プロキシ、