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サーバーを持ったことになります!
