Google認証システムの2要素認証でSSHを保護する方法
SSHサーバーを使いやすい2要素認証で保護したいですか? Googleでは、Google認証システムの時間ベースのワンタイムパスワード(TOTP)システムとSSHサーバーを統合するために必要なソフトウェアを提供しています。あなたが接続するときあなたはあなたの電話からコードを入力しなければならないでしょう.
Google AuthenticatorはGoogleに「電話をかける」のではありません。すべての作業はSSHサーバーと電話で行われます。実際、Google Authenticatorは完全にオープンソースなので、そのソースコードを自分で調べることもできます。.
Google認証システムをインストールする
Google Authenticatorで多要素認証を実装するには、オープンソースのGoogle Authenticator PAMモジュールが必要です。 PAMは「プラガブル認証モジュール」を表します。これは、さまざまな形式の認証をLinuxシステムに簡単にプラグインする方法です。.
Ubuntuのソフトウェアリポジトリには、Google Authenticator PAMモジュール用のインストールが簡単なパッケージが含まれています。 Linuxディストリビューションにこのパッケージが含まれていない場合は、Google CodeのGoogle Authenticatorダウンロードページからダウンロードして自分でコンパイルする必要があります。.
パッケージをUbuntuにインストールするには、次のコマンドを実行します。
sudo apt-get libpam-google-authenticatorをインストールしてください。
(これは私達のシステムにPAMモジュールをインストールするだけです - 私達は手動でSSHログインのためにそれをアクティブにする必要があるでしょう。)
認証キーを作成する
リモートでログインするユーザーとしてログインして、 Google認証システム そのユーザーの秘密鍵を作成するコマンド.
コマンドにyと入力して、Google認証システムファイルを更新することを許可します。その後、同じ一時的なセキュリティトークンの使用を制限したり、トークンを使用できる期間を長くしたり、ブルートフォースクラッキングの試みを妨げるために許可されたアクセス試行を制限したりするための質問がいくつか表示されます。これらの選択はすべていくらかの使いやすさのためにいくらかのセキュリティを交換します.
Google Authenticatorは秘密鍵といくつかの「緊急スクラッチコード」をあなたに提示します。緊急スクラッチコードはどこか安全な場所に書き留めてください - これらはそれぞれ1回しか使用できず、携帯電話を紛失した場合に使用します.
携帯電話のGoogle Authenticatorアプリに秘密鍵を入力します(Android、iOS、およびBlackberryには公式アプリがあります)。スキャンバーコード機能を使用することもできます - コマンドの出力の上部の近くにあるURLにアクセスして、あなたはあなたの携帯電話のカメラでQRコードをスキャンすることができます.
携帯電話には常に変更される確認コードがあります。.
複数のユーザーとしてリモートログインする場合は、各ユーザーに対してこのコマンドを実行します。各ユーザーは自分の秘密鍵と自分のコードを持ちます。.
Google認証システムを有効にする
次にSSHログインにはGoogle Authenticatorが必要です。そうするには、 /etc/pam.d/sshd システム上のファイル(たとえば、 sudo nano /etc/pam.d/sshd そして、ファイルに次の行を追加します。
認証が必要ですpam_google_authenticator.so
次に開く / etc / ssh / sshd_config ファイル、 ChallengeResponseAuthentication 行に移動し、次のように読むように変更します。
ChallengeResponseAuthenticationはい
(もし ChallengeResponseAuthentication lineはまだ存在しません。ファイルに上記の行を追加してください。)
最後に、SSHサーバーを再起動して変更内容を有効にします。
sudo service ssh restart
SSH経由でログインしようとすると、パスワードとGoogle認証コードの両方の入力を求められます。.