Gmail блокирует Mutt

47

Когда я пытаюсь войти в Gmail с помощью Mutt, он показывает быстрый Webalert с URL-адресом, что-то вроде accounts.gmail.com или что-то в этом роде. Это слишком быстро для меня, чтобы увидеть или скопировать его. Тогда это говорит, что Войти не удалось.

Затем я получаю электронное письмо от Gmail:

Google Account: sign-in attempt blocked

Hi Adam, 

We recently blocked a sign-in attempt to your Google Account [a...@gmail.com]. 

Sign in attempt details
Date & Time: Wednesday, December 10, 2014 11:55:21 PM UTC 
Location: Utah, USA 

If this wasn't you
Please review your Account Activity page at         https://security.google.com/settings/security/activity to see if anything looks suspicious.     Whoever tried to sign in to your account knows your password; we recommend that you change it right away. 

If this was you
You can switch to an app made by Google such as Gmail to access your account (recommended) or change your settings at https://www.google.com/settings/security/lesssecureapps so that your account is no longer protected by modern security standards. 

To learn more, see https://support.google.com/accounts/answer/6010255. 

Sincerely,
The Google Accounts team

Я могу перейти по ссылке и включить «Доступ к менее защищенным приложениям», а затем войти в систему просто отлично, но есть ли способ войти в систему с помощью mutt, не включая эту менее безопасную опцию в Gmail?

Обновить:

Я на Mac OS X Yosemite Когда я запускаю Mutt -v, в опциях компиляции он содержит + USE_SSL_OPENSSL Я не использую двухэтапную проверку Google Я не использую пароль конкретного приложения Вот сообщения, которые я получить, когда я пытаюсь войти в систему:

Reading imaps://imap.gmail.com:993/INBOX...
Looking up imap.gmail.com...
Connecting to imap.gmail.com...
TLSv1.2 connection using TLSv1/SSLv3 (ECDHE-RSA-AES128-GCM-SHA256)
Logging in...
[WEBALERT https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsm0P......

Я нашел этот ответ, но он не работал: https://stackoverflow.com/a/25209735/1665818

aharris88
источник
У вас включена двухфакторная аутентификация в gmail? Если это так, дурак не сможет войти таким образом. Вам нужно будет сгенерировать ключ приложения, чтобы mutt использовал его для входа в систему.
jw013
У меня не включена двухфакторная аутентификация.
aharris88
1
привет, у меня такие же проблемы было бы здорово, если бы у кого-то было решение использовать mutt с gmail и сохранить стандартные настройки безопасности для учетной записи gmail.
Линлук
Вы используете пароль приложения? Я еще не сталкивался с этой проблемой.
Калеб
Нет, я не использую пароль для конкретного приложения.
aharris88

Ответы:

30

Я наконец заставил его работать, включив двухэтапную проверку Google и используя пароль приложения для mutt.

Подробнее:

Я включил двухэтапную аутентификацию в своей учетной записи Google, что означает, что при входе в Google мне нужно вводить пин-код из текста или из приложения Google Authenticator.

Затем я должен был получить пароль приложения для Mutt. Вы можете создать специальный пароль для приложения здесь .

Затем я использовал этот пароль для конкретного приложения для входа в Mutt вместо моего обычного пароля. И тогда мне не нужно вводить пин-код.

aharris88
источник
не могли бы вы подробнее остановиться на этом, пожалуйста?
tetris11
1
Хорошо, я добавил больше деталей. Надеюсь, это поможет.
aharris88
2
Все еще работает и экономит часы по всему миру. Спасибо @ aharris88
Бернардо Зульцбах
26

Как говорится в одном из комментариев, похоже, что Google перешел к блокированию приложений, использующих аутентификацию IMAP / SMTP PLAIN по умолчанию, и вы можете прочитать официальные блоги, в которых говорится, что Google настоятельно рекомендует пользователям протокола IMAP / SMTP переключиться на OAuth 2.0 (так как XMPP также интересно, (OSX iChat перестанет работать с GTalk в какой-то момент). В другом месте есть забавные предположения относительно обоснования этого изменения . На момент написания анекдотического расследования предлагается:

  • Учетные записи Google для бизнеса не видят этой проблемы - они продолжают автоматически принимать пароли на основе IMAP / SMTP, и в настоящее время нет настроек для их отказа (не может создавать проблемы для всех тех, кто платит пользователям с программами, использующими «устаревшие» пароли для входа eh ?).
  • В некоммерческих учетных записях Google теперь есть возможность разрешать или запрещать вход в систему по протоколу IMAP / SMTP на основе пароля («менее безопасные приложения»). Учетные записи Google, существовавшие годами, могут автоматически запретить, но это может случиться не со всеми.

Я попытался сначала войти в GMail с помощью веб-браузера, а затем использовать Mutt с того же компьютера. Я попытался изменить настройки Muttrc, чтобы TLS всегда использовался . Я пробовал ссылку разблокировки капчи . Всем не удалось разрешить моему дураку работать с учетной записью GMail «не разрешать менее безопасные приложения» (но может решить проблемы с входом в систему в различных сценариях). Ваш выбор:

(Кто бы ни проголосовал за мой оригинальный ответ - спасибо)

скоро
источник
1
Как конкретные пароли приложения вписываются в смесь? Если вы используете пароль для конкретного приложения, можете ли вы оставить «разрешать подключать менее безопасные приложения» выключенным и по-прежнему использовать PLAIN / Basic Authentication без предупреждения?
января
2
Использование пароля приложения для настройки @ hampercm позволяет обойти эту проблему. - security.google.com/settings/security/apppasswords
Йошуа Вуйц,
6

Судя по описанию aharris88, Gmail блокировал доступ к своей учетной записи через Mutt, поскольку Mutt использует небезопасные соединения при взаимодействии с серверами Gmail. Это означает, что ваше имя пользователя и пароль отправляются через локальную сеть и Интернет в незашифрованном виде; как правило, действительно плохая идея и что-то, чего можно избежать, когда это возможно. Gmail пытался препятствовать этой рискованной конфигурации, отклоняя попытку подключения Mutt. Изменение настроек учетной записи Google, чтобы разрешить «Доступ к менее защищенным приложениям», нарушало это поведение, позволяя Mutt подключаться небезопасным образом.

Одним из решений для этого является настройка Mutt для использования безопасности TLS при подключении к Gmail. Таким образом, ваши учетные данные не отправляются в виде простого текста, и поэтому вы можете отключить «Доступ к менее защищенным приложениям» в настройках своей учетной записи Google.

Чтобы использовать TLS, отредактируйте файл конфигурации Mutt (~ / .muttrc), чтобы он был похож на следующее:

set realname = 'Your Full Name'
set imap_user = 'youraccount@gmail.com'
set smtp_url = "smtp://youraccount@smtp.gmail.com:587/"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = "imaps://imap.gmail.com:993"
set record="+[Gmail]/Sent Mail"
set postponed="+[Gmail]/Drafts"
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates

# These two lines appear to be needed on some Linux distros, like Arch Linux
set ssl_starttls = yes
set ssl_force_tls = yes

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

mkdir -p ~/.mutt/cache/bodies
mkdir ~/.mutt/cache/headers
touch ~/.mutt/certificates

Строки 3-5 файла конфигурации Mutt указывают Mutt подключаться к Gmail с использованием безопасных портов и протоколов. Убедитесь, что вы ввели « Ваше полное имя» в строке 1 и заменили «youraccount» в обеих строках 2 и 3. Последние две строки заставят mutt безопасно подключаться, и это может потребоваться в некоторых дистрибутивах Linux. Остальная часть конфигурации - довольно распространенная настройка, позволяющая играть в Mutt с Gmail.

Вам также нужно будет установить OpenSSL (или что-то подобное) в вашей системе, хотя большинство систем, вероятно, уже будет иметь это.

Теперь начните дурак. Вам будет предложено ввести пароль для учетной записи Gmail. Вам также может быть предложено принять сертификат, который сервер Gmail отправит вам; идти вперед и сделать это. Если вы видите свой почтовый ящик, вы должны быть готовы!

Если он все еще не соединяется, что-то еще мешает Mutt надежно соединиться. Попробуйте выполнить: mutt -vдля отображения версии Mutt и параметров компиляции. В разделе «Параметры компиляции» найдите +USE_SSLили что-то похожее на +USE_SSL_OPENSSLили +USE_SSL_GNUTLS. Если ни один из них не отображается с плюсом рядом с ним, то Mutt был скомпилирован без возможности соединения с TLS, и вам потребуется его перекомпилировать.

Другая возможность заключается в том, что OpenSSL (или эквивалентный пакет SSL) еще не установлен в вашей системе. Способ его установки будет зависеть от того, какой дистрибутив Linux / Unix вы используете. Попробуйте найти руководства, специфичные для вашего дистрибутива. Вам также может понадобиться установить дополнительный пакет, содержащий центры сертификации.

Как только вы все заработаете, если вы не хотите вводить пароль Gmail каждый раз, когда вы запускаете Mutt, вы можете сохранить его непосредственно в файле ~ / .muttrc , добавив следующую строку:

set imap_pass = 'yourpassword'

Обратите внимание, однако, что это представляет угрозу безопасности , особенно если вы используете систему совместно с другими пользователями. Чтобы уменьшить этот риск, вы можете сделать ~ / .muttrc доступным для чтения только вам, выполнив:

chmod 600 ~/.muttrc

Это предотвращает чтение вашего пароля, хранящегося в файле ~ / .muttrc, пользователями, не являющимися пользователями root, и службами, работающими в вашей системе.

hampercm
источник
2
это не решает проблему, это та же конфигурация, что и у меня. Вы должны разрешить незащищенным приложениям в настройках Gmail использовать Mutt таким образом. но мы хотим использовать его (возможно) со стандартными настройками безопасности. Спасибо, в любом случае.
linluk
Убедитесь, что smtp_url , spoolfile и папка установлены точно так, как указано выше, за исключением, конечно, замены youraccount именем вашей учетной записи. Это ключевые линии. И убедитесь, что они не установлены на что-то еще ниже в файле. Я также дополнил свой ответ, чтобы рассмотреть еще пару возможностей. Использование двух строк, которые я добавил внизу файла конфигурации, приведенного выше, может помочь. В противном случае вам может понадобиться установить реализацию SSL или перекомпилировать Mutt.
hampercm
1
Это все еще не сработало. Это было почти то же самое, что я уже имел в своем .muttrc. Но у меня были лишние вещи. Я удалил другие вещи на всякий случай. Я не добавил часть ssl, потому что я на Mac. Кроме того, сообщения, которые я получаю, похоже, что они уже используют ssl.
aharris88
Хммм. У меня очень небольшой личный опыт работы с MacOS, поэтому, к сожалению, я не сильно помогу в вашей проблеме. Вы создавали подкаталоги и файлы ~ / .mutt / , используя команды mkdir и touch, как описано выше? Похоже, что это необходимо для некоторых -nixes. Кроме этого, мне нечего предложить, кроме как выполнять некоторые веб-поиски, относящиеся к Mutt и Gmail в Mac OS. Несколько поисковых хитов говорят об использовании "MacPorts" для установки вариантов Mutt.
hampercm
2
Я наткнулся на некоторую информацию, которая может объяснить вещи. Это говорит о том, что OAuth 2.0 требуется для ВСЕГО доступа из внешних приложений, даже через защищенные соединения. Я проверил свои настройки Google и обнаружил, что в прошлом я включал менее безопасные приложения по какой-то другой причине, и забыл об этом, поэтому мой доступ к дуракам работал безумно, ладно :( Похоже, вы можете использовать SASL XOAUTH2, чтобы обойти нужна «менее безопасная» опция, но, возможно, не стоит потраченного времени на небольшое повышение безопасности
hampercm
2

Теперь Mutt официально поддерживает OAuth, специально ориентируясь на проблемы с Gmail.

Филипп Гесанг
источник
1
Я думаю, что лучше, если вы попытаетесь добавить в ответ хотя бы некоторые инструкции по использованию OAuth в gmail. ссылка только ответы становятся недействительными, если URL-адрес изменяется. или файл перемещается.
Юкашима Хуксай
1

Создайте специальный пароль приложения для Mutt: https://support.google.com/accounts/answer/185833 https://security.google.com/settings/security/apppasswords

twolfe18
источник
1
Я не использую двухэтапную проверку Google.
aharris88
О, я думал, что вы можете использовать определенные пароли приложений с или без двухэтапной проверки. Я думаю, это то, что следует учитывать тем, кто настроил двухэтапную проверку.
twolfe18
0

ХОРОШО. Поэтому после долгой отладки я нашел этот пост, который дает реальное решение.

Если у вас есть указанная проблема, и вы не используете двухфакторную аутентификацию, вам необходимо войти в веб-версию Gmail и перейти к:

https://accounts.google.com/b/0/DisplayUnlockCaptcha

Теперь попробуйте Mutt - он должен войти в систему сейчас.

niieani
источник
В моем вопросе я уже связался с этим ответом, который говорит то же самое, но он не работает. stackoverflow.com/questions/25209676/...
aharris88
На самом деле, мне это тоже не помогло.
reinierpost