From 934e91a81913a1be8138c28112fdbb855e489b14 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Wed, 22 Apr 2015 00:17:49 +0300 Subject: [PATCH] Add simple script for creating new clients keys Signed-off-by: Sergey Matveev --- doc/govpn.texi | 23 +++++++++++++++-------- utils/newclient.sh | 26 ++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 8 deletions(-) create mode 100755 utils/newclient.sh diff --git a/doc/govpn.texi b/doc/govpn.texi index f15968e..5bf4a04 100644 --- a/doc/govpn.texi +++ b/doc/govpn.texi @@ -230,14 +230,25 @@ Ethernet frame header length, that in my case is 14 bytes long (1476 - 14). Do not forget about setting @code{GOMAXPROC} environment variable for using more than one CPU. +At first you have to generate client's authentication key and client's +unique identification. There is @code{utils/newclient.sh} script for +convenience. + +@example +% ./utils/newclient.sh Alice +peers/9b40701bdaf522f2b291cb039490312/Alice +@end example + +@code{9b40701bdaf522f2b291cb039490312} is client's identification. +@code{Alice} is just an empty file that can help to search them like +this: @verb{|find peers -name Alice|}. @code{key} file inside peer's +directory contains authentication key. + GNU/Linux IPv4 client-server example: @example -server% mkdir -p peers/CLIENTID -server% umask 066 -server% echo MYLONG64HEXKEY > peers/CLIENTID/key server% echo "#!/bin/sh" > peers/CLIENTID/up.sh -server% echo "echo tap10" > peers/CLIENTID/up.sh +server% echo "echo tap10" >> peers/CLIENTID/up.sh server% chmod 500 peers/CLIENTID/up.sh server% ip addr add 192.168.0.1/24 dev wlan0 server% tunctl -t tap10 @@ -265,10 +276,6 @@ done FreeBSD IPv6 client-server example: @example -server% mkdir -p peers/CLIENTID -server% umask 066 -server% echo MYLONG64HEXKEY > peers/CLIENTID/key -server% echo "#!/bin/sh" > server% cat > peers/CLIENTID/up.sh </dev/null | hexdump -ve '"%02x"' +} + +[ -n "$1" ] || { + cat < +EOF + exit 1 +} + +username=$1 +peerid=$(getrand 16) +umask 077 +mkdir -p peers/$peerid +getrand 32 > peers/$peerid/key +touch peers/$peerid/$1 +echo peers/$peerid/$1 -- 2.44.0