4

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
4

2 に答える 2

-1

root@myserver:/var/www# cat /tmp/quickAuth.sh

#!/bin/bash
#vpn_user.sh

ALLOWED_USER="user"
ALLOWED_PASS="password"

echo "$username"
echo "$password"
echo $ALLOWED_USER
echo $ALLOWED_PASS


if [[ "$username" == "$ALLOWED_USER"  && "$password"="$ALLOWED_PASS" ]]
then
 exit 0
else
  exit 1
fi

クライアント構成

client
dev tun
proto udp
remote remote ip server 1194(server port)
resolv-retry infinite
nobind
user nobody
group nogroup
persist-key
persist-tun
mute-replay-warnings
ca ca.crt
cert client.crt
key client.key
ns-cert-type server
auth-user-pass
comp-lzo
route xxx.xxx.xxx.xxx  255.255.255.255 the ip that i want to route throw the openvpn(if default was not made)
verb 3

prbはshスクリプトを使用しています

于 2015-10-29T06:54:13.930 に答える