ubuntuで実行されているopenvpnサーバーにopenvpn Windowsクライアントを接続しようとしています。「証明書のみ」の認証を使用すると、VPN は正常に動作します。しかし、以下のスクリプトを使用して認証しようとすると、クライアントで以下のエラーが発生します。
Mon Jan 21 14:59:07 2013 SENT CONTROL [server]: 'PUSH_REQUEST' (status=1)
Mon Jan 21 14:59:07 2013 AUTH: Received AUTH_FAILED control message
Mon Jan 21 14:59:07 2013 TCP/UDP: Closing socket
Mon Jan 21 14:59:07 2013 SIGTERM[soft,auth-failure] received, process exiting
vpn_user.sh は実行可能ファイルで、server.conf ファイルからアクセスできます。
任意の支援をいただければ幸いです。
認証スクリプトは次のとおりです。
#!/bin/sh
#vpn_user.sh
ALLOWED_USER="user1"
ALLOWED_PASS="password1"
echo "$username"
echo "$password"
if ["$username"=="$ALLOWED_USER"] && ["$password"=="$ALLOWED_PASS"]
then exit 0
fi
exit 1
サーバー構成:
#server.conf
port 1194
proto udp
dev tap0
client-cert-not-required
auth-user-pass-verify vpn_user.sh via-env
script-security 3
username-as-common-name
tmp-dir /dev/shm
ca ca.crt
cert server.crt
key server.key # This file should be kept secret
dh dh1024.pem
ifconfig-pool-persist ipp.txt
server-bridge 10.8.0.4 255.255.255.0 10.8.0.50 10.8.0.100
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log openvpn.log
verb 3
クライアント構成
client
dev tap
proto udp
remote 10.xx.xx.xx 1194
auth-user-pass
resolv-retry infinite
persist-key
persist-tun
ca ca.crt
dh dh1024.pem
comp-lzo
verb 3