Назад | Перейти на главную страницу

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

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

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

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

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

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

На github также есть реализация go по адресу 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
[=======                      ]

Существует множество сторонних реализаций аутентификатора. Ознакомьтесь со списком на википедия страница. Например, вы можете использовать onetimepass (который написан на Python) для использования в командной строке.

Насколько мне известно, Google выпускает приложение Authenticator только для телефонов (iOS, Android).
(Это создает проблему для таких параноиков, как я, которые на самом деле не доверяют истории прекращения предоставления услуг Google с небольшим уведомлением и предпочитают генератор токенов, который мы можем видеть внутри.)

Вы можете рассмотреть другие альтернативы, например система одноразовых паролей.


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

Вы могли бы попробовать http://soundly.me/oathplus

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

Если вы используете python, в pip доступны пакеты с интерфейсами CLI.

Вот хакерский: https://github.com/bjurga/DeOtp

Это полосатый GoogleAuthenticator с хорошей идеей «интеграции с Windows». Проект git очень новый и, очевидно, требует косметических улучшений, но пока он работает нормально.

A windows commandline gauth.exe is here https://github.com/moshahmed/gauth/
fork of https://github.com/pcarrier/gauth to compile on windows7.

$ cd ~/.ssh
$ cat gauth.mfa
    test,ABC

# Encrypt gauth.mfa to gauth.ssl
$ openssl enc -aes-128-cbc -md sha256 -in gauth.mfa -out gauth.ssl
    password=xxx
# Decrypt gauth.ssl and edit gauth.mfa
$ openssl enc -aes-128-cbc -md sha256 -d -in gauth.ssl -out gauth.mfa
    password=xxx

# Get the 2fa code
$ go run gauth.go [tes] [$HOME/.ssh/gauth.ssl]
|   pass:xxx
|   2FA    Name
|   129079 test
# Print qrcode.txt on console as scan able image
  $ pip install qrcode
  $ qr "otpauth://totp/Example:mosh@mosh.com?secret=XYZ&issuer=SOMEONE"
    [qrcode printed on Console]
# Convert text to png image, from https://github.com/miyako/console-qrencode
  $ waqrencode -t png -i mfa.txt -o mfa.png
# Convert qrcode.jpg image to string
  $ zbarimg qrcode.jpg