NetBSDマシンをソフトウェアトークンとして使いqiitaに二段階認証でログインできるようにする

この記事は、NetBSD Advent Calendar 2017の12日目の記事です。 すっかり遅くなっていますが、代わりに投稿できるようになっていたので、 勝手に投稿してしまいます。 あまりNetBSDにもpkgsrcにも直接関係ないような気もしますが…。

はじめに

Two Factor Authenticationは、二段階認証と日本語訳されているようです。 qiitaでも、この二段階認証を使ってログインできるようになっています。

普通は、Google Authenticatorのようなスマートフォンで使用できる ソフトウェアを使って、二段階認証のワンタイムパスワードを 生成すると思います。 しかし、pkgsrcにもsecurity/2faと言う パッケージで、コマンドラインのプログラムが用意されています。 これは、https://github.com/rsc/2fa で公開されているものをパッケージにしたものです。 Go言語で書かれています。 これを使ってqiitaにログインしてみました。

2faコマンドのインストール

Goコンパイラーが動くアーキテクチャーである必要があります。 私はNetBSD/amd64を使っているので、無事にビルドできました。 以下のように操作します。


$ cd /usr/pkgsrc/security/2fa
$ make install
これで/usr/pkg/bin/2faというコマンドがインストールされました。

二段階認証を設定する

二段階認証の設定ページより、QRコードの代わりに、テキストでキーを表示させます、 ここでは、abc123と表示されたと仮定します。


$ 2fa -add qiita
2fa key for qiita: abc123
これで、準備は整いました。 初回のワンタイムパスワードを生成してみます。 ここで、qiitaは時間ベースのワンタイムパスワード(TOTP)を受け付けて くれるようです。

$ 2fa qiita
123456
これで、123456と言うワンタイムパスワードが得られました。 これを、qiitaのページに入力します。

二段階認証でログインする

一度ログアウトして、二段階認証を使ってログインしてみます。 ユーザーIDとパスワードを入力した後、ワンタイムパスワードが求められる ようになっています。


$ 2fa qiita
234567
のように実行し、この例であれば、234567を入力してください。

まとめ

qiitaで、時間ベースのワンタイムパスワードを使用して二段階認証でログインしました。 ワンタイムパスワードはNetBSDの環境で生成することができました。

時間ベースのワンタイムパスワードの生成に限りませんが、端末の時刻はNTP等で 合わせておくようにしましょう。

Comments

Popular posts from this blog

#5000へCメールを送れないau端末でezweb.ne.jpの電子メールアドレスをIMAP4/SMTPで扱う方法

PostgreSQLのOracle Foreign Data WrapperをWindowsで使う

Vaio Pro 11/13用のサードパーティーのACアダプター