web-dev-qa-db-ja.com

Gmailがmuttをブロックしています

Muttを使用してGmailにログインしようとすると、accounts.gmail.comなどのURLが付いたクイックWebalertが点滅します。見たりコピーしたりするには速すぎます。次に、ログインに失敗したと表示されます。

次に、Gmailから次のようなメールが届きます。

Google Account: sign-in attempt blocked

Hi Adam, 

We recently blocked a sign-in attempt to your Google Account [[email protected]]. 

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

リンクに移動して[安全性の低いアプリへのアクセス]を有効にすると、問題なくログインできますが、Gmailでこの安全性の低いオプションをオンにせずにmuttでログインする方法はありますか?

更新:

私はmac os x Yosemiteを使用していますコンパイルオプションでmutt -vを実行すると、+ USE_SSL_OPENSSLが含まれます。Googleの2段階認証を使用していません。アプリケーション固有のパスワードを使用していません。ログインしようとすると:

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

49
aharris88

Googleの2段階認証を有効にし、muttにアプリ固有のパスワードを使用することで、ようやく機能しました。

もっと詳しく:

Googleアカウントで2段階認証を有効にしました。つまり、Googleにログインするときに、テキストまたはGoogle認証システムアプリからPIN番号を入力する必要があります。

次に、muttのアプリ固有のパスワードを取得する必要がありました。アプリ固有のパスワード ここ を生成できます。

次に、通常のパスワードではなく、アプリ固有のパスワードを使用してmuttにログインしました。暗証番号を入力する必要はありません。

33
aharris88

コメントの1つ は次のように表示されます GoogleはデフォルトでIMAP/SMTP PLAIN認証を使用するアプリのブロックに移動しました そして、それを述べた公式ブログを読むことができます Googleは、IMAP/SMTPプロトコルのユーザーがOAuth 2. に切り替えることを強くお勧めします(XMPPもリストされているので、(古いですか?)他にも、楽しいものがあります この変更の理論的根拠に関する推測 。執筆時点では、事例調査により次のことが示唆されています。

  • Googleビジネスアカウントはこの問題を認識しません-これらは引き続きパスワードベースのIMAP/SMTPログインを自動的に受け入れ、現在それらを拒否する設定はありません(できません) 「レガシー」パスワードログインを使用するプログラムを使用しているすべての有料ユーザーに問題を引き起こしているのでしょうか。
  • 「ビジネス」以外のGoogleアカウントに パスワードベースのIMAP/SMTPログインを許可または禁止する設定 (「安全性の低いアプリ」)が追加されました。何年もの間存在していたGoogleアカウントは、自動的に拒否を選択することができますが、これはすべての人に起こるとは限りません。

最初にWebブラウザを使用してGMailにログインし、次に同じマシンからmuttを使用してみました。私は試しました TLSが常に使用されるようにmuttrc設定を変更しますアンロックキャプチャリンク を試しました。すべての人が、「安全性の低いアプリを許可しない」GMailアカウントで私のmuttを機能させることができませんでした(ただし、さまざまなシナリオでのログインの問題を解決できる場合があります)。選択肢は次のとおりです。

(私の元の返信に投票した人-ありがとうございます)

28
Anon

Aharris88の説明から判断すると、MuttはGmailのサーバーと通信するときに安全でない接続を使用しているため、Guttは彼のアカウントへのアクセスをmutt経由でブロックしていました。これは、ユーザー名とパスワードが暗号化されていない形式でローカルネットワークとインターネットを介して送信されていることを意味します。一般的には非常に悪い考えであり、可能な限り回避する必要があります。 Gmailは、muttの接続試行を拒否することにより、この危険な設定を阻止しようとしました。 「安全性の低いアプリへのアクセス」を許可するようにGoogleアカウントの設定を変更すると、この動作が無効になり、Muttが安全でない方法で接続できるようになります。

このための1つの解決策は、Gmailに接続するときにTLSセキュリティを使用するようにmuttを構成することです。この方法では、認証情報がプレーンテキスト形式で送信されないため、Googleアカウント設定で「安全性の低いアプリへのアクセス」を無効にできます。

TLSを使用するには、mutt構成ファイル(〜/ .muttrc)を次のように編集します。

set realname = 'Your Full Name'
set imap_user = '[email protected]'
set smtp_url = "smtp://[email protected]: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

Mutt設定ファイルの3行目から5行目は、安全なポートとプロトコルを使用してGmailに接続するようにmuttに指示しています。 1行目に 'あなたのフルネーム'を入力し、 "youraccount"2行目と3行目の両方。最後の2行は、muttを安全に接続することを強制し、一部のLinuxディストリビューションでは必要になる場合があります。残りの設定は、MuttをGmailでうまく動作させるためのかなり一般的な設定です。

また、システムにOpenSSL(または同等のもの)がインストールされている必要もありますが、ほとんどのシステムにはおそらくすでにインストールされています。

では、muttを起動します。 Gmailアカウントのパスワードの入力を求められます。また、Gmailサーバーが送信する証明書を受け入れるように求められる場合もあります。先に進んでください。受信トレイが表示されたら、問題はありません。

それでも接続されない場合は、何か別の原因でmuttが安全に接続できていません。実行してみてください:mutt -vは、muttのバージョンとコンパイルオプションを表示します。出力の「コンパイルオプション」セクションで、+USE_SSLまたは+USE_SSL_OPENSSL+USE_SSL_GNUTLSのような類似のものを探します。これらの横にプラス記号が付いていない場合は、TLSに接続する機能なしでmuttがコンパイルされているため、再コンパイルする必要があります。

別の可能性としては、OpenSSL(または同等のSSLパッケージ)がまだシステムにインストールされていない可能性があります。インストール方法は、使用しているLinux/Unixディストリビューションによって異なります。ディストリビューションに固有のガイドを検索してみてください。認証局を含む追加のパッケージをインストールする必要がある場合もあります。

うまくいったら、muttを実行するたびにGmailのパスワードを入力したくない場合は、次のような行を追加して〜/ .muttrcファイルに直接保存できます。

set imap_pass = 'yourpassword'

ただし、これにはセキュリティ上のリスクがあることに注意してください、特にシステムを他のユーザーと共有する場合。このリスクを軽減するために、以下を実行することによって、あなただけが〜/ .muttrcを読み取り可能にすることができます。

chmod 600 ~/.muttrc

これにより、システムで実行されている非rootユーザーおよびサービスが〜/ .muttrcファイルに保存されているパスワードを読み取ることができなくなります。

6
hampercm

Mutt now 公式にOAuthをサポート 特にGmailの問題を対象としています。

2
Philipp Gesang
1
twolfe18

OK。長い間これをデバッグした後、私は この投稿 が本当の解決策を与えることを発見しました。

上記の問題があり、2要素認証を使用していない場合は、GmailのWebバージョンにログインして、次のURLにアクセスする必要があります。

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

さて、Muttを試してみてください-今ログインするはずです。

0
niieani