Keywords: Linux; mutt; gpg; encryption; stmp; imap

序言

直接进入主题。 这里不讨论为什么要去使用没有 GUI 的 MUTT。 因为当你已经开始考虑“怎么处理登陆密码加密”的问题时, 我想我已经跟你分享了相同的价值观了。

Generally, 你需要在 muttrc 文件中搞定配置问题 (主要是 imap 和 smtp 和密码问题)。 大致如下(我会在最后分享我的完整的配置, 这里只讨论和段落主题有关的内容):


set imap_user = "your_address@gmail.com"

set imap_pass = "your password"

set smtp_url = "smtp://your_address@smtp.gmail.com:587/"

set smtp_pass = "your password"

set from = "youraddress@gmail.com"  

主要就是设置 smtp 和 imap (关于他们的含义,你只要理解 ma 和 mt 就好了,分别是 message transfer 和 message access)。

在最开始使用 mutt 的阶段,我也曾是使用这样的配置近2年。 仅从使用的角度,这个完全没有问题。 但是这个有个漏洞就是, 你把你的密码直接曝露在大庭广众之下。 也许,你会争论说你的 Linux 安全系数很高 (硬盘加密), 而且除了你没有人使用你的电脑。

但是,对于那种一个复杂密码用在很多处地方的人 (比如我自己), 一旦电脑被 hacked, 就等于公布了所有的密码。 相比较之下,有一种稍微安全一些的方式, 就是密码处留白

 set imap_pass = ""

set stmp_pass = "" 

然后在每次使用 MUTT 的时候手动输入密码。

但是的但是,对于一些懒的人(比如,还是我自己), 我又想密码绝对安全,又不想手动输入密码, 那怎么办呢? 这时候,我们需要使用 GnuPG (缩写为gpg, 请自己去系统相对应的 binary repository 下载安装)

注意: 如果是 Gentoo 系统, 编译的时候别忘记 gpg 和 asal 的 USE flags; 如果是 Ubuntu, 请(尽量)注意使用的是 gpg2 而不是 gpg1。 你可以通过一下命令来查看:

 gpg --version 

内容

使用 gpg 的主要思想是, 我把密码(比如,imap_pass 和 stmp_pass) 输入某个文件,然后使用 gpg 将这个包含有“显式格式密码”的文件加密成“隐式格式”的文件; 然后让 mutt 读取这个加密文件,并 decrypt。

具体步骤如下:

1. 在 mutt 路径下建立一个名为 password 的文件来储存密码

 cd ~/.mutt

touch password

vim password 

2. 在这个 password 文件中, 输入 smtp 和 imap 的密码

 set smtp_pass = "your password"

set imap_pass = "your password" 

3. 将这个文件用 gpg 加密处理

 gpg -r your_address@gmail.com -e ~/.mutt/password 

4. 最后你会看到 gpg 生成的 password.gpg 文件,打开后显示的是乱码, 然后删除 password 文件

 rm ~/.mutt/password 

5.  将 password.gpg 中加密内容 echo 到 muttrc 配置文件中, 从而使 mutt 读取密码

 source "gpg -d ~/.mutt/password.gpg" 

其实就是让 gpg2 将加密内容 decrypt 后显示给 mutt。

附录

这里我附上一个我的 muttrc-简化版


set ssl_starttls = yes
set ssl_force_tls = yes
set imap_user = "your_address@gmail.com"
set smtp_url = "smtp://your_address@smtp.gmail.com:587/"
set from = 'your_address@gmail.com'
set realname = "Kim"

set editor = "vim"
set folder = "imaps://imap.gmail.com:993"
set spoolfile = "+INBOX"
set hostname = gmail.com
set mail_check = 120
set timeout = 300
set imap_keepalive = 300
set postponed = "+[Gmail]/Drafts"
set record = "+[Gmail]/Sent Mail"
set header_cache = "~/.mutt/cache/headers"
set message_cachedir = "~/.mutt/cache/bodies"
set certificate_file = "~/.mutt/certificates"
set move = no

# gpg setup
source "gpg -d ~/.mutt/password.gpg |"

 

 

 

 

 

Advertisements

One thought on “Mutt 之 邮箱密码 encryption 设置

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s