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

Создание пары в одной оболочке

Документированный рабочий процесс ограничивает создание файлов до того, как существует приватное значение, а затем выводит из него публичное значение. Все три строки принадлежат одной сессии оболочки:

umask 077  # applies to files created next, so keep the next line in this shell
wg genkey | tee privatekey | wg pubkey > publickey
wg pubkey < privatekey  # re-derive and compare with publickey

wg genkey записывает 32-байтовый приватный ключ Curve25519 в base64; wg pubkey читает его и выводит соответствующий публичный ключ, а tee сохраняет приватное значение, передавая его дальше по конвейеру. Именно этот порядок объясняет, почему строка прав идёт первой и почему вставка конвейера во второй терминал тихо его теряет. Имена файлов приведены для примера, и важно то, что оба файла оказываются там, где их контролирует устройство-владелец. Если приватный файл уже существует со стандартными правами, chmod 600 privatekey исправляет текущий файл и ничего не делает с копиями, сделанными раньше.

Держите приватную половину на одном устройстве

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

Намеренное уничтожение выведенного из обращения файла — часть той же привычки. Оставлять его в папке загрузок, пока кто-нибудь не заметит, — нет.

Что оператору партнёра нужно от вас

Другой стороне нужны публичное значение и схема адресов, которую выбрал её оператор, и больше ничего. Отправьте эту публичную строку по тому каналу, которого ждёт оператор, затем подтвердите, к какой записи партнёра её прикрепили, прежде чем кто-либо её проверит, потому что правильный ключ не в том разделе терпит неудачу так, что это выглядит как проблема с ключом. Отправляйте её одной неперенесённой строкой, потому что ключ, разорванный на две строки, без возражений вставляется в файл конфигурации и потом никогда не совпадает.

Создание ключа само по себе ничего не разрешает. Партнёра нужно настроить на его приём, и шаг настройки принадлежит тому, кто управляет тем концом.

Проверьте пару настоящим обменом

Пара ключей идентифицирует один конец туннеля; она не создаёт ни маршрута, ни записи распознавателя, ни правила пересылки, ни разрешения в межсетевом экране. После подготовки партнёра проверяйте обмен, а не файл: рукопожатие, появляющееся в wg show, адрес, отвечающий внутри туннеля, и один запрос приложения, зависящий от маршрута. Эта тройка отделяет неверный ключ от верного ключа и от отсутствующего пути.

Держите одну идентичность на устройство, когда развёртывание это позволяет, чтобы потерянную единицу можно было отозвать отдельно, вместо того чтобы заставлять всех заново создавать ключи. Это решение ещё и делает процедуру замены ниже безопасной для выполнения.

Замена ключа без разрыва

Создайте замену на устройстве, добавьте новый публичный ключ как дополнительного партнёра, подтвердите, что он несёт трафик, и только затем удалите старый. Действие в таком порядке означает, что у туннеля никогда нет мгновения без действительной идентичности, а откат — это просто удаление только что добавленной записи.

Держите заменённый приватный файл, пока новый партнёр не подтверждён, затем намеренно уничтожьте его. Быстрый старт WireGuard — это справочник по самим командам, и он достаточно короток, чтобы прочитать его целиком перед началом.

Похожие статьи