Мутація блокування Gmail


47

Коли я намагаюся увійти в gmail за допомогою mutt, він швидко прошиває Webalert URL-адресою, чимось на зразок account.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


У вас у Gmail ввімкнено двофакторну автентифікацію? Якщо так, mutt не зможе увійти таким чином. Вам доведеться створити ключ програми для mutt, який використовуватиметься для входу натомість.
jw013

У мене не включена двофакторна автентифікація.
aharris88

1
привіт, я відчуваю ті самі проблеми. Було б чудово, якщо хтось має рішення використовувати mutt з gmail та зберігати стандартні параметри безпеки для акаунта gmail.
linluk

Використовуєте пароль додатка? Я ще не стикався з цим питанням.
Калеб

Ні, я не використовую конкретний пароль програми.
aharris88

Відповіді:


30

Нарешті, я змусив його працювати, увімкнувши двоетапну перевірку Google і використовуючи для програми mutt пароль для програми.

Більш детально:

Я ввімкнув двоетапну перевірку в своєму обліковому записі Google, що означає, що під час входу в Google я повинен вводити штифтовий номер або з тексту, або з програми Google Authenticator.

Тоді мені довелося отримати спеціальний пароль для mutt. Ви можете згенерувати спеціальний пароль для програми тут .

Потім я застосував цей пароль для входу в mutt замість звичайного пароля. І тоді мені не потрібно вводити PIN-код.


Ви могли б детальніше зупинитися на цьому?
tetris11

1
Гаразд, я додав більше деталей. Сподіваюся, що це допомагає.
aharris88

2
Досі працює і економить години по всьому світу. Спасибо @ aharris88
Бернардо Сульцбах

26

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

  • Ділові акаунти Google не побачать цю проблему - вони продовжують автоматично приймати вхідні протоколи IMAP / SMTP на основі паролів, і наразі немає налаштування відмовляти їм (не може викликати проблем у всіх тих, хто платить користувачам із програмами, що використовують "застарілі" входи паролів, наприклад ?).
  • Зараз для облікових записів Google, що не належать до бізнесу, налаштовано дозволяти або забороняти вхід IMAP / SMTP на основі пароля ("менш захищені програми"). Облікові записи Google, які існують роками, можуть автоматично вирішити заборону, але це може трапитися не у всіх.

Я спробував спочатку увійти в GMail за допомогою веб-браузера, а потім використовувати mutt з тієї ж машини. Я намагався змінити настройки muttrc, щоб забезпечити завжди використання TLS . Я спробував розблокувати посилання captcha . Всі вони не дозволили моїй роботі працювати з обліковим записом GMail "не дозволяють менш захищеним програмам" (але може вирішити проблеми з входом у різні сценарії). Ваш вибір:

(Хто б не проголосував за мою оригінальну відповідь - дякую)


1
Як конкретні паролі програми вписуються в суміш? Якщо ви користуєтесь спеціальним паролем програми, чи можете ви вимкнути "дозволити менш захищеним програмам" вимкнутись і все ж використовувати PLAIN / Basic Authentication без попередження?
jla

2
Використання пароля для програми з налаштуванням @ hampercm обіходить цю проблему. - security.google.com/settings/security/apppasswords
Yoshua Wuyts

6

Судячи з опису aharris88, Gmail блокував доступ до свого облікового запису через mutt, оскільки mutt використовує незахищені зв’язки під час спілкування з серверами Gmail. Це означає, що ваше ім’я користувача та пароль надсилаються через локальну мережу та Інтернет у незашифрованому вигляді; взагалі дійсно погана ідея, і чого слід уникати, коли це можливо. Gmail намагався відмовитись від цієї ризикованої конфігурації, відкинувши спробу підключення мута. Змінивши налаштування свого облікового запису Google, щоб дозволити "Доступ для менш захищених додатків", це перекручує таку поведінку, дозволяючи муттю підключатися ненадійно.

Одне рішення для цього - налаштувати 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 і замініть "свій рахунок" в обох рядках 2 і 3. Останні два рядки змусять мут надійно з'єднуватися, і це може знадобитися в деяких дистрибутивах Linux. Інша частина конфігурації - це досить поширена настройка, яка дозволяє муттю грати добре з Gmail.

Вам також знадобиться встановити OpenSSL (або щось еквівалентне) у вашій системі, хоча більшість систем, мабуть, вже має це.

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

Якщо воно все ще не підключається, щось інше перешкоджає надійному підключенню мутти. Спробуйте виконати: 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.


2
це не вирішує проблему, та сама конфігурація, яку я маю. ви повинні дозволити незахищеним програмам у своїх налаштуваннях gmail таким чином використовувати mutt. але ми хочемо використовувати його (f можливо) зі стандартними налаштуваннями безпеки. все одно, дякую.
linluk

Переконайтеся , що smtp_url , спулінга і папки створюються точно так , як зазначено вище, за винятком, звичайно , замінивши «youraccount» з ім'ям вашого профілю. Це ключові лінії. І переконайтеся, що вони не встановлені на щось інше далі у файлі. Я також доповнив свою відповідь, щоб вирішити ще кілька можливостей. Використання двох рядків, які я додав у нижній частині файлу конфігурації, наведеного вище, може допомогти. В іншому випадку може знадобитися встановити SSL-реалізацію або перекомпілювати mutt.
hampercm

1
Це все ще не спрацювало. Це був майже той самий матеріал, який я вже мав у своєму .muttrc. Але у мене були зайві речі. Я видалив інші речі на всякий випадок. Я не додав частину ssl, тому що я на Mac. Крім того, повідомлення, які я отримую, виглядає так, що він вже використовує ssl.
aharris88

Хммм. У мене дуже мало особистого досвіду роботи з MacOS, тому, на жаль, я не можу допомогти вашій проблемі. Чи створили підкаталоги та файли ~ / .mutt / файли за допомогою команд mkdir та touch, як описано вище? Вони здаються необхідними на деяких -ніксах. Крім того, у мене немає нічого іншого, що можна запропонувати, окрім пошуку в Інтернеті, специфічного для mutt та Gmail на Mac OS. Кілька пошукових запитів говорять про використання "MacPorts" для установки варіантів mutt.
hampercm

2
Я натрапив на якусь інформацію, яка може пояснити щось. Це говорить про те, що OAuth 2.0 потрібен для ВСІХ доступу із зовнішніх програм, навіть через захищені з'єднання. Я перевірив мої налаштування Google і виявив , що дозволило менш безпечним додаткам в минулому для якої - то іншої причини, і про нього забув, тому мій доступ собачка був робоча Bonks голови з долонею :( Схоже , ви можете використовувати SASL XOAUTH2 , щоб обійти потрібна опція "менш безпечний", але, можливо, не варто витратити час на невеликий "підвищення безпеки"
перешкоджає

2

Зараз Mutt офіційно підтримує OAuth, спеціально орієнтований на проблеми з Gmail.


1
Я думаю, що краще, якщо ви спробуєте додати хоч якісь інструкції щодо використання OAuth in gmail у відповідь. Відповіді на посилання стають недійсними, якщо URL-адреса змінюється. або файл переміщується.
юкасіма хуксай

1

Створіть специфічний пароль програми для mutt: https://support.google.com/accounts/answer/185833 https://security.google.com/settings/security/apppasswords


1
Я не використовую двоетапну перевірку Google.
aharris88

О, я думав, ви можете використовувати конкретні паролі програми з двоступінчастою підтвердженням або без нього. Я думаю, що це варто врахувати тим, хто налаштував двоетапну перевірку.
twolfe18

0

ГАРАЗД. Тож після тривалого налагодження цього питання я знайшов цю публікацію, яка дає справжнє рішення.

Якщо у вас є зазначена проблема, і ви не використовуєте двофакторну авторизацію, вам потрібно увійти до веб-версії Gmail і перейти до:

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

Тепер спробуйте Mutt - він повинен увійти зараз.


У своєму запитанні я вже пов'язував цю відповідь, яка говорить те саме, але це не працює. stackoverflow.com/questions/25209676 / ...
aharris88

Дійсно, і це не допомогло мені.
reinierpost
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.