底下是在 CentOS 7.3 1611 下實作
1. 建立使用者及設定密碼
# useradd test -s /sbin/nologin
# passwd test
2. 修改 OpenVPN 設定檔 /etc/openvpn/server.conf
加入下面的設定
client-cert-not-required
username-as-common-name
plugin /usr/lib64/openvpn/plugins/openvpn-plugin-auth-pam.so /etc/pam.d/login
[@more@]3. 檢查 OpenVPN 設定檔是否正確
# openvpn –config /etc/openvpn/server.conf
4. 重新啟動 OpenVPN Server,並檢查是否有正常啟動
# systemctl restart openvpn@server.service;systemctl status openvpn@server.service
5. 安裝 cyrus-sasl
# yum install cyrus-sasl
6. 設定預設啟動 saslauthd 服務
# systemctl enable saslauthd.service
7.啟動 saslauthd 服務,並檢查是否有正常啟動
# systemctl start saslauthd.service;systemctl status saslauthd.service
8. 測試是否能使用本機帳號密碼進行認證
檢查帳號密碼是否能正常使用
# testsaslauthd -u test -p 123456 -s login
0: OK “Success.”
如果出現以上的訊息,代表正常
connect() : No such file or directory
0:
如果出現上面訊息,代表 saslauthd 沒有啟動,請做第 6~7 步驟
0: NO “authentication failed”
如果出現上面訊息,代表認證失敗,可能要查看一下 /var/log/secure 中的訊息
9. 在 OpenVPN Cleint 端的設定檔中,加入下面這一行
auth-user-pass
