ステータス:非推奨

この記事は廃止され、メンテナンスされなくなりました。

理由

この記事は、より最近の正確なコンテンツを複製しています。

代わりに参照してください

この記事は参照として役立つ場合がありますが、機能しない場合やベストプラクティスに従わない場合があります。

代わりに、 Ubuntu16.04でSSHの多要素認証を設定する方法を参照してください。

序章

SSHサーバーを2要素認証で保護するには、Google認証システムPAMモジュールを使用できます。

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

注意:通常のユーザーに対してgoogle-authenticatorをアクティブ化したが、rootに対してはアクティブ化しなかった場合、rootユーザーで直接ログインすることはできなくなります。 最初に新しいユーザーとしてログインしてから、suコマンドでスーパーユーザーに切り替えてrootを取得する必要があります。

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

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

sudo apt-get install libpam-google-authenticator

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

ステップ2-構成ファイルを編集する

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

nano /etc/pam.d/sshd

ファイルの上に次の行を追加します。

auth required pam_google_authenticator.so

編集するもう1つのファイル:

nano /etc/ssh/sshd_config

次の行を見つけて変更します。

ChallengeResponseAuthentication yes

ステップ3-ユーザーの2要素認証をアクティブ化する

rootユーザーまたは他のユーザーのgoogle-authenticatorをアクティブ化できます。 二要素認証を使用する必要があるユーザーに切り替えて、次のように入力します。

google-authenticator

いくつかの質問に答えるように求められます。 最初の2つの質問にyes(y)で答えます。

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認証システムアプリを使用してqrコードをスキャンするか、秘密鍵と確認コードを使用してアカウントを追加できます。 緊急スクラッチコードを印刷して安全な場所に保管することを忘れないでください!

ここで、rootに戻り、SSHサーバーを再起動します。 rootユーザーに2要素認証を追加した場合は、次の手順をスキップできます。

su root 

最後にSSHサーバーを再起動します。

/etc/init.d/ssh restart

それでおしまい! これで、2要素認証を備えたSSHサーバーができました。