ウェブサイト検索

SSHを二要素認証で保護する方法


ステータス: 廃止された

この記事は廃止され、もはや維持されていません。

理由

この記事は、より新しく、正確な内容を重複しています。

別の方法で見る

この記事は参照としてはまだ役に立つかもしれませんが、機能しなかったり、ベストプラクティスに従っていない可能性があります。

Ubuntu 16.04でSSHの多要素認証を設定する方法をご覧ください。

紹介

SSHサーバーを二要素認証で保護するために、Google Authenticator PAMモジュールを使用できます。

接続するたびにスマートフォンからコードを入力する必要があります。

注意: 通常のユーザーに対してgoogle-authenticatorを有効にするが、rootには有効にしない場合、もはや直接rootユーザーでログインできなくなります。最初に新しいユーザーとしてログインし、その後suコマンドを使用してスーパーユーザーに切り替えてrootにアクセスする必要があります。

何かをVPSで行う前に、Google認証システムのアプリケーションをインストールしてください。このアプリはAndroid、iOS、BlackBerryで利用可能です。マーケットを利用してアプリをインストールするか、モバイルブラウザを使用してm.google.com/authenticatorにアクセスしてください。その後、VPSに接続し、ルートユーザーに切り替えてください。

ステップ1 - 依存関係をインストールする

sudo apt-get install libpam-google-authenticator

libqrencode3は自動的にインストールされ、電話のカメラを使用してコンソールから直接QRコードをスキャンできるようになります。

ステップ2 - 設定ファイルを編集する

モジュールを使用するには、2つの設定ファイルを編集する必要があります。

nano /etc/pam.d/sshd

ファイルの上部に次の行を追加してください。

auth required pam_google_authenticator.so

もう一つ編集するファイルがあります:

nano /etc/ssh/sshd_config

次の行を見つけて変更してください:

ChallengeResponseAuthentication yes

ステップ3 - ユーザーの二要素認証を有効にする

rootユーザーまたは他のどのユーザーでもgoogle-authenticatorを有効にできます。二要素認証を使用する必要があるユーザーに切り替え、次のように入力します:

google-authenticator

いくつかの質問に答えるよう求められますので、最初の2つの質問には「はい」と答えてください。

Do you want authentication tokens to be time-based (y/n) y
Do you want me to update your "/home/USERNAME/.google_authenticator" file (y/n) y

次の質問には、あなたのニーズに応じて答えることができます。

Google Authenticatorアプリを使用してQRコードをスキャンするか、秘密鍵と確認コードを使ってアカウントを追加してください。緊急スクラッチコードを印刷して、安全な場所に保管するのを忘れないでください!

今、ルートに戻ってSSHサーバーを再起動してください。ルートユーザーのために二要素認証を追加した場合は、次のステップをスキップできます。

su root 

ついにSSHサーバーを再起動します。

/etc/init.d/ssh restart

それで完了です!これで二要素認証を備えたSSHサーバーを持ったことになります!

関連記事: