在哪里设置 OpenVPN 服务器的用户名和密码?

在哪里设置 OpenVPN 服务器的用户名和密码?

我找不到在哪里编辑我 5 年前设置的 VPN 用户的密码。我对这方面了解不多,而且很惊讶我多年前竟然能用上它。

这是一台运行 OpenVPN - PPTP 服务器的 Centos 服务器,用户使用简单的用户名和密码进行连接。用户名/密码不是服务器的用户 - 我记得它们以纯文本形式存储在文件中{username}:{password}

我不记得这个文件存储在哪里了!有什么办法可以找到它吗?

我的/etc/openvpn/server.conf文件如下所示:

local xx.xx.xx.xx
port 1194
proto udp
dev tun
tun-mtu 1500
tun-mtu-extra 32
mssfix 1450
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
push "route 10.104.17.0 255.255.255.0"
route 192.168.5.0 255.255.255.0
client-config-dir /etc/openvpn/client-configs
ifconfig-pool-persist /etc/openvpn/ipp.txt
keepalive 5 30
comp-lzo
persist-key
persist-tun
status 1194.log
verb 5
daemon

答案1

您确定您的 OpenVPN 服务器正在为您的 PPTP 连接提供服务吗?我之所以问这个问题,是因为官方的 OpenVPN 并不支持 PPTP 协议,而您可能需要使用 openvpn 客户端来连接到您的 openvpn 服务器。

引自 OpenVPN 手册:

OpenVPN 是否支持 IPSec 或 PPTP?

目前广泛使用的 VPN 实现主要有三种:SSL、IPSec 和 PPTP。OpenVPN 是一种 SSL VPN,因此与 IPSec、L2TP 或 PPTP 不兼容。

此外,如果 openVPN 使用基于用户名/密码的身份验证,我希望在您的配置文件中看到一个身份验证配置指令来分配登录方法;因为 OpenVPN 默认使用基于证书的身份验证。

我的建议是:如果你确定你正在运行 PPTP,请检查你是否正在运行鍵盤为这些连接提供服务的守护进程。如果您使用的是 openvpn,您能否使用客户端配置文件作为示例来更新您的问题,这将有助于我们查明您使用的登录方法,但根据此配置判断,它很可能是基于证书的。有关您的设置的密钥生成的更多信息,请参见此处: https://openvpn.net/easyrsa.html,本质上您生成一个密钥,下载它并将其与“ .ovpn”配置文件和您的公共 ca 证书一起分发给您的任何用户。

如果您对 pptpd 或 openvpn 的配置有具体问题,请随时询问。

答案2

创建新的 OpenVPN 用户的方法如下:

/etc/openvpn/easy-rsa/2.0

然后,用您最喜欢的编辑器编辑 vars 文件。

完成后保存文件并运行:

source ./vars

然后运行:

./build-key-pass username

以下是示例输出:

[root@centolel 2.0]# ./build-key-pass itaitikal
Generating a 1024 bit RSA private key
.++++++
...........++++++
writing new private key to 'itaitikal.key'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [IL]:
State or Province Name (full name) [SH]:
Locality Name (eg, city) [TelAviv]:
Organization Name (eg, company) [none]:
Organizational Unit Name (eg, section) [changeme]:
Common Name (eg, your name or your server's hostname) [itaitikal]:
Name [itaitikal1]:
Email Address [[email protected]]:

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
Using configuration from /etc/openvpn/easy-rsa/2.0/openssl-1.0.0.cnf
Check that the request matches the signature
Signature ok
The Subject's Distinguished Name is as follows
countryName           :PRINTABLE:'IL'
stateOrProvinceName   :PRINTABLE:'SH'
localityName          :PRINTABLE:'TelAviv'
organizationName      :PRINTABLE:'none'
organizationalUnitName:PRINTABLE:'changeme'
commonName            :PRINTABLE:'itaitikal'
name                  :PRINTABLE:'itaitikal1'
emailAddress          :IA5STRING:'[email protected]'
Certificate is to be certified until Feb 20 15:44:56 2027 GMT (3650 days)
Sign the certificate? [y/n]:y


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

确保 CN 名称是唯一的,否则您将无法签署证书。

接下来,浏览到/etc/openvpn/easy-rsa/2.0/keys并获取username.crtusername.key刚刚创建的和服务器的ca.crt,将它们压缩并发送给用户。

用户必须将它们放在某处并在其 .ovpn 文件中指向它们。

我写了一篇关于整个过程的文章,请随意查看:

http://www.geek-kb.com/install-and-configure-openvpn-centos-6-x/

相关内容