LoginSignup
5
5

More than 5 years have passed since last update.

別マシンにSSH(SFTP)接続するときに2段階認証を設定する

Last updated at Posted at 2016-09-03

はじめに

今回は,普段私がサーバにSSH接続をする際に2段階認証を導入した話があったので記事にしました。

2段階認証にGoogle Authenticatorを使用しました。

Google Authenticator
開発元:Google, Inc.
無料

ダウンロードは上のリンクからどうぞ〜

Google Authenticationをインストール

$ sudo apt-get install libpam-google-authenticator -y

アプリとの連携

$ google-authenticator

背景画像は気にしないでください。私の愛です。
モザイク下手すぎかよ...

何やら出てくるので,アプリ側で登録!

登録方法は省略します。。。。

あとターミナル側で聞かれる質問には全部「 y 」でOK

QRコードの下にリカバリーキーとかが出てるのでメモをするのをお忘れずに!

SSH設定ファイルの編集

51行目当たりの「 ChallengeResponseAuthentication 」を「 yes 」に変更

/etc/ssh/sshd_config
ChallengeResponseAuthentication no  
↓  
ChallengeResponseAuthentication yes

下記を追加

/etc/pam.d/sshd
auth required pam_google_authenticator.so

SSHDemon再起動

$ sudo service ssh restart

実際に接続

こんな感じにはじめにログインパスワード,そして ワンタイムパスワード を入力してくれと表示されるようになりました。

パスワード同様にワンタイムパスワードもどうやら入力してもターミナルには表示されない仕様になっておらせられるようです。ワンタイムパスワードだからあんまり関係ないんですけどね

注意事項

アプリが入っている端末とSSH接続先のホストのタイムゾーンが合っていないとログイン出来ないと思います。なので時間は合わせておきましょう!

最後に

ポート番号を変えるとかRSA認証とかを組み合わせてセキュリティ面で少しでも優位に立つことが重要だと思うので,ワンタイムパスワードも中々良いツールだと思ったので今回は導入をしてみました。

ただ弱点としてあげるならば,リカバリーキーなくしたら死亡ということでしょうか。あとは,ユーザが毎回アプリを開いて文字列を入力しなくてはならないという面倒臭さが発生してしまう。といったところでしょうか?
メリットは言うまでもなく,使い捨てパスワードなのでパスワードを自ら生成しなくてもいいということ,もし漏洩しても1分程度で新しくパスワードが生成されるから使用できなくなる。

参考文献

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5