Найти тему

Генерируем ключи для WireGuard

Оглавление

При подготовке конфигурационных файлов wg встаёт вопрос генерации приватного и публичного ключей. Вы можете это сделать с помощью встроенных средств WireGuard или утилит, доступных в каждом популярном дистрибутиве Linux.

Генерация ключей средствами WireGuard

Этот способ удобен в случаях, когда wg уже установлен. Достаточно просто выполнить:

wg genkey | tee private.key | wg pubkey > public.key

*в файле private.key будет сохранён приватный ключ, в public.key - публичный.

Генерация ключей средствами Linux

Если по какой-то причине вам необходимо сгенерировать ключи на машине без установленного WireGuard, этот вариант для вас.

В основе генерации ключей wg лежит алгоритм Curve25519, причем итоговые значения должны быть заданы в кодировке base64 и иметь длину 44 символа.

Чтобы вывод удовлетворял обозначенным выше требованиям, используем команды ниже:

openssl genpkey -algorithm X25519 -outform der | tee /tmp/privatekey.der | tail -c 32 | base64 > private.key
openssl pkey -inform der -in /tmp/privatekey.der -pubout -outform der | tail -c 32 | base64 > public.key
rm /tmp/privatekey.der

*в файле private.key будет сохранён приватный ключ, в public.key - публичный.

Минимальная автоматизация

Чтобы сгенерировать и вывести сразу несколько пар ключей, зададим желаемое количество в переменной $count:

count=5

WireGuard

clear
for ((i=0; i < $count; i++))
do
echo -e "\n====="
privatekey=$(wg genkey)
echo -e "Private key: \t$privatekey"
publickey=$(echo $privatekey | wg pubkey)
echo -e " Public key: \t$publickey"
echo -e "=====\n"
done

Bash

clear
for ((i=0; i < $count; i++))
do
echo -e "\n====="
privatekey=$(openssl genpkey -algorithm X25519 -outform der | tee /tmp/privatekey.der | tail -c 32 | base64)
echo -e "Private key: \t$privatekey"
publickey=$(openssl pkey -inform der -in /tmp/privatekey.der -pubout -outform der | tail -c 32 | base64)
echo -e " Public key: \t$publickey"
echo -e "=====\n"
done
rm /tmp/privatekey.der
Результат генерации пяти пар ключей
Результат генерации пяти пар ключей

Заключение

В статье рассмотрены 2 варианта генерации приватного и публичного ключей для вайргард. Если материал был полезен - поставьте лайк или подпишитесь на канал, чтобы чаще видеть в ленте подобный контент.

Всем добра!)