彻底解决Windows 7下OpenVPN的使用问题

今天我算是彻底解决Windows 7下OpenVPN的使用问题。事情的起因是这样的。我不想每次登陆VPN的时候输入用户密码,而服务却又需要。但是OpenVPN 的Windows 版本却不支持从配置文件中读取用户名和密码。网上有一个2.0.7版本的可以从配置文件读取用户名和密码,它是重新编译了OpenVPN,将–enable-password-save参数加入编译了。考虑到Windows 7下下载一堆的环境然后编译比较麻烦我就不做了,有兴趣的可以研究下。[http://openvpn.net/index.php/open-source/documentation/install.html?start=1][http://openvpn.net/index.php/open-source/documentation/install.html?start=1]在Windows XP里面使用2.0.7版本可以自动登录,只要开启–auth-user-pass [up]参数即可,

其中up是表示一个文本文件,第一行为用户名,第二行为密码。但此方法在Windows 7的时代不好用,因为这个版本不能用,而且如果开启了会提示:

"Sorry, 'Auth' password cannot be read from a file."

如是我将此行注释掉了,结果不能登录了,出现了以前我出现的问题,不能登录。现在才明白以前我一直不能登录是因为关闭了此参数的原因。看下帮助,此参数的意思是是否开启用户名和密码登陆方式。

--auth-user-pass [up] : Authenticate with server using username/password. up is a file containing username/password on 2 lines, or omit to prompt from console.

尽管在Windows 下默认不支持从配置文件或者控制台传递用户名和密码,但是要使用用户名和密码登陆必须开启此参数,太邪恶了! 再回到自动登录的问题。OpenVPN-GUI却可以输入用户名和密码登陆,于是想到我曾经很喜欢干的“不道德”的事情:修改OpenVPN-GUI。这个不难,找个PE Explorer即可。 修改的界面如下:

openvpn1 openvpn2