Есть ли в командной строке генератор кода проверки двухфакторной аутентификации?


23

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

Я хотел бы получить код подтверждения, используя только ноутбук, а не iPhone. Должен быть способ запустить приложение командной строки, которое генерирует эти коды подтверждения и дает вам код для текущего 30-секундного окна.

Есть ли программа, которая может сделать это?

Ответы:


24

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

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


Совместимо ли это с модулем PAM Google Authenticator? Это похоже на другого (хотя и функционально эквивалентного) зверя ...
voretaq7

2
Да - с --totpфлагом, он реализует тот же стандарт TOTP и Google Authenticator.
EEAA

2
Это oathtool. Во многих случаях вам нужны --totpи -bфлаг и флаг (декодирование base32)
Zouppen

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

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

3

Существует много сторонних реализаций Authenticator. Проверьте список на странице википедии . Например, вы можете использовать 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 в практическом смысле не является двухфакторной аутентификацией в самом строгом смысле, потому что и пароль, и секрет TOTP являются «чем-то, что вы знаете». Любой из них может быть скопирован без ведома владельца о потере секретности.
Курт Дж. Сэмпсон

1

Вы можете попробовать http://soundly.me/oathplus

Это инструмент, который я разработал поверх почтенного oathtool, который позволяет вам читать QR-коды и хранить информацию об учетной записи OTP для дальнейшего использования. Вы можете рассматривать его как Google Authenticator для командной строки, поскольку он может загружать и считывать 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.