Недавно столкнулся с лицемерием GitHub, который якобы под предлогом беспокойства о безопасности обычных пользователей начал вводить обязательную двухфакторную аутентификацию. Сперва выборочно только для самых активных, а в последствии и для всех остальных без исключения.


Надуманность данного повода доказывается тем фактом, что в качестве двухфакторной аутентификации можно использовать либо специально приложение, либо SMS, либо аппаратный ключ безопасности. Причем это без каких либо альтернатив, т.к. сайт просто не дает работать дале�� без включения двухфакторной аутентификации.


Enable 2FA now. You'll be able to continue on with your work right after.

Но как обычно, дьявол в деталях. Ведь чтобы добавить аппаратный ключ нужно, чтобы двухфакторная аутентификация была УЖЕ активирована.


Другими словами, чтобы использовать аппаратный ключ, нужно предварительно включить двухфакторную аутентификацию с использование SMS (читай номера телефона), либо программы, которая привязана к сетевой учетной записи Googgle, Microsoft или другого сервиса и опять же с привязкой к номеру телефона.


И в данном случае фокус с отправкой SMS на левый номер какого нибудь сервиса для временных телефонных номер вряд ли будет хорошей идеей.


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


Подготовка к активации аппаратного ключа на GitHub


  • Берем (покупаем) аппаратный ключ с поддержкой 2FA. Себе я купил Yubico Nano, но это не единственный вариант с поддержкой данной технологии.
  • Устанавливаем драйвера и приложения необходимые для работы аппаратного ключа
  • Ставим в браузер плагин Authenticator который и будет работать с аппаратным токеном вместо привязанного к сетевой учетной записи постороннего приложения.

Включаем двухфакторную аутентификацию на GitHub "без СМС"


  • Соглашаемся на активацию 2FA в учетной записи


  • Используем плагин браузера в качестве TOTP (time-based one-time password) приложения для двухфакторной аутентификации. Для этого нужно открыть данный плагин, в окне которого будет показывать код подтверждения, который нужно ввести на странице сайта.
    Обратите внимание, что данный код имеет ограниченный срок действия, о чем сообщает постепенно уменьшающийся индикатор оставшегося времени в нижнем правом углу окна с кодом подтверждения (но ничего страшного не произойдет, если вы не успеете ввести код, просто автоматически будет создан новый код подтверждения).


  • Потом создается ключ на аппаратном токене (вас попросят ввести название ключа для учетной записи и прикоснуться к токену в качестве подтверждения вашего физического присутствия за компьютером). Если все сделано правильно, то у вас в учетной записи будет вот так:


  • После этого при входе на GitHub.com можно будет авторизоваться с помощью аппаратного ключа. Для этого после ввода пароля, плагин браузера будет предлагать прикоснуться к ключу безопасности для генерации кода подтверждения, необходимого для авторизации на сайте