コマンドラインの2要素認証検証コードジェネレーターはありますか?


23

2要素認証でサーバーを管理しています。通常のサーバーパスワードを入力した後に入力する6桁の確認コードを取得するには、Google Authenticator iPhoneアプリを使用する必要があります。セットアップについては、http//www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.htmlをご覧ください。

iPhoneではなく、ラップトップだけを使用して確認コードを取得する方法が必要です。これらの検証コードを生成し、現在の30秒ウィンドウのコードを提供するコマンドラインアプリをシードする方法が必要です。

これを行うことができるプログラムはありますか?

回答:


24

はい、oathtoolできます。サーバーから共有シークレットをシードする必要があります。

oath-toolkitパッケージからインストールできます。


これはGoogle Authenticator PAMモジュールと互換性がありますか?それは別の(機能的には同等ですが)獣のようです
...-voretaq7

2
うん- --totpフラグを使用すると、Google Authenticatorと同じ標準準拠のTOTP algを実装します。
EEAA

2
ですoathtool。多くの場合、両方--totp-bフラグが必要です(base32デコード)
-Zouppen

1
FWIW、私は、CLI上Authyと機能的に同等であるoathtool用シェルラッパーを書いた:github.com/poolpog/bash-otp
JDS

FWIW:libpam-google-authenticatorトークンの検証に使用するCラッパーを作成しました。github.com/hilbix/google-authを参照してください-READMEには機能がchecktotp表示されています。を削除し| fgrep -qx "$1";てトークンを表示します。
ティノ


3

https://github.com/pcarrier/gauthの githubにもgo実装があります。

これは設定ファイル~/.config/gauth.csvを使用して、トークンを次の形式で保存します

me@gmail.com: abcd efg hijk lmno
aws-account: mygauthtoken

また、出力もかなりフレンドリーです。

$ gauth
           prev   curr   next
AWS        315306 135387 483601
Airbnb     563728 339206 904549
Google     453564 477615 356846
Github     911264 548790 784099
[=======                      ]

2

私の知る限り、Googleは電話(iOS、Android)向けの認証アプリケーションのみをリリースしています。
(これは、私のような偏執的な人々にとって問題を引き起こします。彼らは、Googleのサービスをほとんど予告なしに中断した歴史を本当に信用しておらず、内部で見ることができるトークンジェネレータを好むでしょう。)

ワンタイムパスワードパッドシステムなど、他の代替手段を検討することもできます


正直なところ、ラップトップから検証コードを取得すると、2要素認証の側面が無効になります(ラップトップをキャプチャした人は誰でもコードジェネレーターを使用できるようになります。これは、Authenticatorが保護するはずの機能の一部です)。


2FAには基本的に別のデバイスが必要であるという意見に同意します。ただし、そのセカンダリデバイスをリモートサーバーにすることはできますか?
ジェリーW.

1
携帯電話の代わりにラップトップにTOTPシークレットを保存することは、パスワードをラップトップに保存しない場合(ブラウザのパスワードエージェントなど)には、TOTPをまったく使用しないよりもはるかに優れています。MITM攻撃者(キーロガーなど)は、TOTPシークレットにアクセスできず、時間ベースのコードだけにアクセスできるため、1〜2分だけ有効な認証情報をキャプチャします。盗まれたラップトップにはTOTPシークレットがありますが、パスワードはありません。(覚えやすくするには、より弱いパスワードを使用する必要がありますが、TOTPでは問題ありません。)攻撃者がパスワード盗聴し、秘密盗むことは、タスクを複雑にします。
カートJ.サンプソン

もう1つ注意してください。パスワードとTOTPシークレットの両方が「知っているもの」であるため、実践されたTOTPは厳密には2要素認証ではありません。どちらも、所有者が秘密を失うことを知らずにコピーできます。
カートJ.サンプソン

1

あなたはhttp://soundly.me/oathplusを試すことができます

これは、由緒あるの上に開発したツールで、oathtoolQRコードを読み取ったり、後で使用するためにOTPアカウント情報を隠したりできます。QRコードをダウンロードして読み取ることができ、URIを使用できるため、コマンドラインのGoogle認証システムと考えることができますotpauth://。(OSXのみのatm。)


0

gauthコードを含むファイルを編集するときに、vimから使用するWindowsコマンドラインgauth.exe。

https://github.com/moshahmed/gauth/releases/download/mosh1/gauth-vim-stdin-win7-2019-01-08.zip

Windows7でコンパイルするためのhttps://github.com/pcarrier/gauthのフォークです。

テスト/使用法:

c:\Go\src\cmd\vendor\github.com\pcarrier\gauth-vim-stdin-win7> echo "dummy1: ABCD" | gauth.exe
prev curr next
dummy1 562716 725609 178657
[== ]

Usage from vim, when your cursor is on line
"dummy1: ABCD"
: . w ! gauth
" temp shell window popup with codes.

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.