はじめに
今回は,普段私が使っているRaspberry PI2 Model BにSSH接続をする際に2段階認証を導入した話です
2段階認証にGoogle Authenticatorを使用しました.
ダウンロードは上のリンクからどうぞ〜
Google Authenticationをインストール
pi@raspberrypi ~ $ sudo apt-get install libpam-google-authenticator -y
アプリとの連携
pi@raspberrypi ~ $ google-authenticator
何やら出てくるので,アプリ側で登録!
登録方法は省略します....
あとターミナル側で聞かれる質問には全部「y」でOK
QRコードの下にリカバリーキーとかが出てるのでメモをするのをお忘れずに!
SSH設定ファイルの編集
/etc/ssh/sshd_config
51行目当たりの「ChallengeResponseAuthentication」を「yes」に変更
ChallengeResponseAuthentication no ↓ ChallengeResponseAuthentication yes
/etc/pam.d/sshd
下記を追加
auth required pam_google_authenticator.so
SSHDemon再起動
pi@raspberrypi ~ $ sudo service ssh restart
実際に接続
こんな感じにはじめにログインパスワード,そしてワンタイムパスワードを入力してくれと表示されるようになりました.
パスワード同様にワンタイムパスワードもどうやら入力してもターミナルには表示されない仕様になっておらせられるようです.ワンタイムパスワードだからあんまり関係ないんですけどね
注意事項
アプリが入っている端末とSSH接続先のホストのタイムゾーンが合っていないとログイン出来ないと思います.なので時間は合わせておきましょう!
最後に
今回はラズパイのSSH接続にワンタイムパスワード(2段階認証)を導入してみたお話でした!以下小話...
ポート番号を変えるとかRSA認証とかを組み合わせてセキュリティ面で少しでも優位に立つことが重要だと思うので,ワンタイムパスワードも中々良いツールだと思ったので今回は導入をしてみました.
ただ弱点としてあげるならば,リカバリーキーなくしたら死亡ということでしょうか.あとは,ユーザが毎回アプリを開いて文字列を入力しなくてはならないという面倒臭さが発生してしまう.といったところでしょうか?
メリットは言うまでもなく,使い捨てパスワードなのでパスワードを自ら生成しなくてもいいということ,もし漏洩しても1分程度で新しくパスワードが生成されるから使用できなくなる.
蛇足
後期中間試験が終わりました.非常に面白い結果になって返ってくる予感です.
そろそろラズパイを使った温度計の記事書こうかな...
参考文献
http://www.sorinmustaca.com/2013/04/09/enable-two-factor-authentication-for-the-ssh-on-your-raspberry-pi/www.sorinmustaca.com