Чи існує генератор двофакторного коду підтвердження автентичності командного рядка?


23

Я керую сервером з двофакторною аутентифікацією. Мені потрібно використовувати додаток Google Authenticator iPhone, щоб отримати 6-значний код підтвердження, який потрібно ввести після введення звичайного пароля сервера. Налаштування описано тут: http://www.mnxsolutions.com/security/two-factor-ssh-with-google-authenticator.html

Я хотів би отримати спосіб підтвердження, використовуючи лише мій ноутбук, а не свій айфон. Повинен бути спосіб викласти додаток командного рядка, який генерує ці коди підтвердження та надає код для поточного 30-секундного вікна.

Чи є програма, яка може це зробити?

Відповіді:


24

Так, oathtoolможе це зробити. Вам потрібно буде передати це спільним секретом з вашого сервера.

Ви можете встановити його з oath-toolkitпакета.


Чи сумісний це з модулем PAM Google Authenticator? Здається, що інший (хоча і функціонально рівноцінний) звір ...
voretaq7

2
Так - з цим --totpпрапором він реалізує ту саму стандарти, що відповідає стандартам TOTP, що і Google Authenticator.
EEAA

2
Це oathtool. У багатьох випадках вам потрібні і те, --totpі -bпрапор (декодування base32)
Zouppen

1
FWIW, я написав оболонку оболонки для присяги, яка функціонально еквівалентна Authy на CLI: github.com/poolpog/bash-otp
JDS

FWIW: Я написав C-обгортку, яка використовує libpam-google-authenticatorдля перевірки маркерів. Дивіться github.com/hilbix/google-auth - у програмі README checktotpпоказана функція . Просто видаліть, | fgrep -qx "$1";щоб побачити жетони.
Тіно

3

Існує багато реалізацій сторонніх аутентифікаторів. Перегляньте список на сторінці вікіпедії . Наприклад, для використання в командному рядку ви можете використовувати onetimepass (написаний Python).


3

Існує також реалізація go на github за адресою https://github.com/pcarrier/gauth

У цьому використовується конфігураційний файл ~/.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 випускає програму Authenticator лише для телефонів (iOS, Android).
(Це створює проблему для параноїдальних людей, як я, які не дуже довіряють історії Google про припинення роботи послуг з невеликим зауваженням і вважають за краще генератор токенів, який ми можемо бачити всередині.)

Ви можете розглянути інші альтернативи, наприклад, систему одноразового пароля .


Чесно кажучи, отримання коду підтвердження від вашого ноутбука перемагає двофакторний аспект аутентифікації (кожен, хто захоплює ноутбук, тепер має генератор коду - це частина того, що передбачає захист Authenticator).


Я погоджуюся з думкою, що окремий пристрій принципово необхідний для 2FA. Однак, чи може цей вторинний пристрій бути віддаленим сервером?
Джеррі В.

1
Зберігання секрету TOTP на своєму ноутбуці замість телефону все ще набагато, набагато краще, ніж взагалі немає TOTP, якщо ви не зберігаєте свій пароль на своєму ноутбуці (наприклад, у агенті пароля браузера). Зловмисники MITM (наприклад, ключові реєстратори) не мають доступу до секрету TOTP, а лише на основі часового коду, і таким чином фіксують інформацію про аутентифікацію лише на хвилину-дві. Вкрадений ноутбук має секрет TOTP, але не пароль. (Вам потрібно буде використовувати слабший пароль, щоб зробити його запам'ятовуваним, але це нормально з TOTP.) Здійснення зловмисників нюхати пароль і викрадати секрет ускладнює їх завдання.
Керт Дж. Сампсон

Ще одна примітка: TOTP, як це практикується, технічно не є двофакторним auth у найсуворішому сенсі, тому що і пароль, і секрет TOTP - це "щось, що ви знаєте". Або можна скопіювати без відома власника про втрату секретності.
Керт Дж. Сампсон

1

Ви можете спробувати http://soundly.me/oathplus

Це інструмент, який я розробив поверх поважних oathtool, що дозволяє читати QR-коди та зберігати інформацію про облікові записи OTP для подальшого використання. Ви можете розглядати це як аутентифікатор Google для командного рядка, оскільки він може завантажувати та читати QR-коди та споживати otpauth://URI. (Лише атм. Для OSX.)


0

Командна лінія Windows gauth.exe для використання від vim, під час редагування файлу, що містить коди gauth.

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

Це виделка https://github.com/pcarrier/gauth для компіляції на windows7.

Тест / використання:

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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.