2要素認証でSSHを保護する方法
ステータス:非推奨
この記事は廃止され、メンテナンスされなくなりました。
理由
この記事は、より最近の正確なコンテンツを複製しています。
代わりに参照してください
この記事は参照として役立つ場合がありますが、機能しない場合やベストプラクティスに従わない場合があります。
代わりに、 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サーバーができました。