Verification code input error

Доброго времени суток. Я хотел бы рассказать вам о проблемах 2FA аутентификации на устройствах Android 4.4.2 KitKat и о решении, которое в нашем случае прекрати...

Время прочтения
3 мин

Просмотры 139K


Доброго времени суток.
Я хотел бы рассказать вам о проблемах 2FA аутентификации на устройствах Android 4.4.2 KitKat и о решении, которое в нашем случае прекратило долгие поиски.

Некоторое время назад мы с коллегами решили добавить Двухэтапную аутентификацию (Two factor authentication или для краткости 2FA) для нашего маленького офисного сервера на базе Ubuntu Server.

2FA это дополнительный уровень безопасности и приятное дополнение к уже существующему механизму аутентификации. Кроме обычной пары логин + пароль от пользователя, выполняющего авторизацию, требуется цифровой ключ, который динамически изменяется каждые 30 секунд и генерируется устройством, находящимся во владении пользователя. Для генерации ключа мы использовали Приложение Google authenticator и мобильный телефон на платформе Android. После разовой настройки приложение генерирует коды, имеющие срок жизни в 30 секунд, точно такие же коды генерирует сервер. При аутентификации коды сравниваются.

Так как данные не передаются от сервера и хранятся только на устройстве — этот механизм является более безопасным, чем отправка кодов подтверждения (например, как 3D-secure SMS подтверждение в банковских системах).

Пошаговых инструкций о настройках сервера в сети оказалось неожиданно много. В них все очень просто и доходчиво. Я руководствовался этой статьей.

После настроек сервера установили на телефон Lenovo p780 приложение Google Authenticator, «прочитали» телефоном с монитора QR-code и получили заветные циферки для авторизации. Перед тем как перезагрузить SSH не забывайте сохранить резервные ключи для восстановления доступа.

И вот, все готово к использованию! Перезагружаем SSH, заходим на сервер, указываем пароль, после пароля нас просят предъявить Verification code, переписываем его с телефона и… снова просят указать пароль?!!! Выглядит это так:

ssh user@server.ru
Password: <вводим пароль>
Verification code: <вводим код с телефона>
Password: <?!!, вводим пароль еще раз>
Verification code: <вводим код с телефона>
Password: <еще раз вводим пароль>
Verification code: <еще раз вводим код>
user@server.ru’s password: <еще раз пароль>
Permission denied, please try again.
user@server.ru’s password: <снова вводим пароль>
Received disconnect from xx.xxx.xx.xx: 2: Too many authentication failures for user

Вначале думали, что ошибка допущена в настройках, но испробовав несколько мобильных устройств стало очевидно, что коды генерируемые на Android 4.4.2 KitKat приложением Google Authenticator всегда ошибочны.

«Решения», которые удалось найти и их результаты:

  1. Если откатить версию Android, начинает работать корректно. (с этим «решением» работали какое то время, но решили двигаться дальше)
  2. Так как проблема сводится к некорректным часовым поясам — многие решения направлены именно на их исправление. Приложение TimeZone Fixer действительно может помочь с этой проблемой, однако часть приложений после его использования начинает отображать ошибочное время и потребуется чинить их вручную. (решение имеет свои минусы и риски. вся информация о приложении доступна на сайте 4pda)
  3. Подгонять время вручную. Если честно этот способ у нас так и не заработал. Перевести часы вручную и тем самым синхронизировать время на телефоне и сервере. Увы, все попытки ничего не дали, хотя были люди утверждающие, что у них заработало. В любом случае перспектива потерять функцию часов в телефоне не самая приятная…
  4. Синхронизация часов внутри настроек приложения Google authenticator (в нашем случае без результатов, однако были комментарии, что кому то помогло)

Финальное решение проблемы: FreeOTP

За время поиска решения в сети я уже натыкался на GitHub приложения Google Authenticator, в трекинге ошибок есть наша, и в качестве решения предложено:

«You can used FreeOTP Authenticator(by Red Hat) instead of Google Authenticator until someone fix it.»


Долгое время мне казалось, что рекомендуется использовать другой механизм-аутентификатор, который нужно ставить на сервер вместо Google, поэтому я усердно искал другие решения. Хотелось заставить работать именно Google authenticator, но на самом же деле рекомендуют использовать другое приложение для Android, а серверная часть остается без изменений.

Приложение FreeOTP Authenticator от компании Red Hat. После настройки по тому же QR-коду все начало работать без необходимости что то корректировать.

К сожалению я не могу указать вам причину возникновения ошибки в приложении Google authenticator, но надеюсь, что мой печальный опыт поможет сэкономить чье-то время.

Буду рад вашим комментариям! Спасибо за внимание.

Основные причины и ошибки, из-за которых на телефон не приходят SMS с кодами подтверждения.

Во многих сервисах для регистрации или входа требуется ввести код подтверждения из SMS. Расскажем, почему этот код может не приходить на телефон, и как решить проблему.

Неправильно введен номер

Нужно убедиться, что номер, на который должно прийти SMS-сообщение, введен правильно. Важно обратить внимание на формат — во многих формах для ввода номера уже есть код страны, поэтому вводить повторно его не нужно. Если его нет, начинать номер необходимо с +7, а не с восьмерки. Иногда между этими двумя форматами есть существенная разница.

Проблемы с соединением

Запрос кода из SMS-сообщения может прерваться из-за нестабильного соединения. В этом случае рекомендуется:

  • Выключить и вновь включить мобильные данные.
  • Включить и отключить режим полета — это быстрая перезагрузка беспроводного соединения.

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

Иногда в этой ситуации может помочь переключение на более низкий стандарт связи — 3G или 2G.

Новая SIM-карта

Если SIM-карта была только что куплена, на нее могут не поступать SMS-сообщения. Чаще всего для полной активации SIM-карты требуется около суток, после чего код потребуется запросить снова.

Сообщения отправляются в спам

Если на смартфоне включена защита от спама для SMS, она может сработать некорректно. Из-за этого нужное сообщение не поступит пользователю, а окажется в разделе спама (если такой предусмотрен на телефоне). В этом случае в настройках сообщений или блокировки необходимо временно отключить защиту от спама. Также в этих разделах может находиться функция блокировки по ключевым словам — нужно убедиться, что список ключевых слов пуст.

Черный список SMS

Временный сбой смартфона

Различные факторы могут привести к тому, что смартфон перестает принимать любые сообщения или зависает. Чаще всего исправить это может обычная перезагрузка, после которой работоспособность устройства возвращается.

Неверная дата или время

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

Зависло приложение

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

Короткий номер в черном списке

Номер, с которого пользователь должен получить SMS-сообщение, может быть занесен в черный список. Проверить это необходимо в четырех разных источниках:

  • В настройках вызовов — необходимо найти список заблокированных номеров.
  • В настройках антивирусной программы — во многих из них также можно вносить номера в черный список.
  • В настройках установленных на телефон определителей номеров. Могло произойти так, что номер мог быть заблокирован одной из подобных программ.
  • В настройках черного списка приложения мобильного оператора.

Если короткий номер действительно находится в черном списке, его необходимо удалить оттуда и запросить код повторно.

Сторонние программы для приема сообщений

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

SMS с кодом подтверждения

Отсутствие свободного места

На смартфоне может критически не хватать памяти, из-за чего даже получение SMS будет проходить со сбоями. Очистка хотя бы минимального пространства позволит исправить проблему, после чего код необходимо запросить повторно. Также может помочь удаление старых SMS, из-за большого количества которых новые сообщения не приходят.

Проблема в SIM-карте

Иногда проблема заключается в конкретной SIM-карте или в ее блокировке. Чтобы исключить эту возможность, необходимо ввести другой номер и запросить отправку кода на него. Если все сработало, нужно связаться с оператором связи и выяснить, почему на смартфон не приходит SMS с кодом подтверждения.

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

Проблема в смартфоне

Кроме временного сбоя на смартфоне могут быть и более серьезные неполадки. Исключить их можно, если переставить свою SIM-карту в другое устройство и вновь попробовать запросить код. Если на новый смартфон он поступил без проблем, pyfxbn проблема именно в мобильном устройстве. Виной может быть внутреннее повреждение или системный сбой, требующий сброса настроек телефона до заводских. Конечно, это очень редкий сценарий.

Ранняя версия Android

На старых смартфонах с версией Android 8 и ниже есть отдельная настройка, отвечающая за получение SMS с коротких номеров. Найти ее можно в разделе «Приложения и уведомления» или просто «Приложения». Здесь нужно выполнить несколько действий:

  1. Нажать на троеточие в углу экрана.
  2. Выбрать «Особые права доступа».
  3. Нажать на строку «Использование премиум-сервисов».
  4. В вариантах ниже выбрать «Спрашивать» или «Разрешать всегда».

Отрицательный баланс

Даже для получения SMS-сообщений у многих операторов требуется иметь положительный баланс телефона. Поэтому если на счете задолженность, прием сообщений может блокироваться. Исправить эту проблему просто — достаточно пополнить баланс и запросив код повторно.

Две SIM-карты

Если в телефон вставлены и работают две SIM-карты, перед получением кода необходимо вынуть обе и вставить обратно только ту, на которую должно прийти SMS-сообщение.

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

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

гугл-аутентификаторИзображение / Google

Решение №1 — Синхронизируйте дату и время

Неправильная синхронизация времени — одна из причин, по которой ваши коды Google Authenticator могли перестать работать. Если время не синхронизируется правильно, вы столкнетесь с ошибкой.

Решение №2 — Правильно установите время и дату на мобильном телефоне.

Для iOS:

  • Откройте настройки.
  • Щелкните Общие.
  • Перейдите в Дата и время.
  • Установите переключатель в положение «Включить» или «Вкл.».

Для Android:

  • Щелкните «Настройки».
  • Найдите Систему и нажмите, чтобы открыть.
  • Щелкните Дата и время.
  • Найдите Автоматические дата и время и установите переключатель в положение «Включить» или «Вкл.».
  • Найдите Автоматический часовой пояс и переключите на Включено или Включено.
  • Перезагрузите Android-устройство.

Решение № 3 — Создание резервных кодов

Коды резервного копирования полезны, когда ваше приложение Google Authenticator не работает или вы теряете свое устройство с приложением. Это номера, которые вы можете использовать для входа в систему. Убедитесь, что у вас есть копии этих резервных кодов, и храните их в непредсказуемом и безопасном месте.

  • Чтобы сгенерировать резервные коды на рабочем столе, откройте страницу двухэтапной проверки учетной записи Google. Войдите в свою учетную запись Google.
  • Найдите Добавить дополнительные вторые шаги, чтобы подтвердить, что это вы, и нажмите, чтобы открыть.
  • Ищите резервные коды.
  • Нажмите «Настройка», чтобы настроить резервные коды. Если вы делали это раньше, нажмите Показать коды.
  • Скопируйте коды и сохраните их. Вы также можете распечатать их на бумаге и нажать кнопку «Печать».
  • Вы можете использовать один из этих резервных кодов за раз. Если вам нужно сгенерировать новые коды, нажмите Получить новые коды.

Как использовать резервные коды

  • Когда вас попросят ввести код подтверждения, нажмите Дополнительные параметры.
  • Введите один из 8-значных кодов.

Устранение проблемы с кодами, сгенерированными Google Authenticator, поможет поддерживать безопасность ваших учетных записей. Попробуйте описанные выше действия и дайте нам знать в комментариях ниже, как это происходит.

Понравилась статья? Поделить с друзьями:
  • Verification code error как переводится
  • Verification code error call of duty mobile
  • Verfault exe ошибка приложения
  • Verbose stack error enoent no such file or directory open package json
  • Verbose stack error command failed