Документация и UX установки: полный production-fix по fix32
This commit is contained in:
@@ -47,9 +47,20 @@ apt install -y openssh-server ca-certificates curl
|
||||
|
||||
### 2. Настроить SSH до установки Amnezia
|
||||
|
||||
Production-пример использует порт `2323` и вход только по ключу. Сначала убедитесь, что публичный ключ уже добавлен в `~root/.ssh/authorized_keys` или в ключевой файл нужного sudo-пользователя.
|
||||
Production-пример использует порт `2323` и вход только по ключу.
|
||||
|
||||
Для SSH через Amnezia используйте ключ в стандартном OpenSSH public key формате (строка вида `ssh-rsa AAAA... comment` в `authorized_keys`). Практически это означает, что Amnezia ожидает именно публичный ключ в формате OpenSSH authorized_keys.
|
||||
Сгенерируйте отдельную пару ключей для Amnezia на Windows (RSA PEM-формат):
|
||||
|
||||
```cmd
|
||||
ssh-keygen -t rsa -b 4096 -m PEM -f %USERPROFILE%\.ssh\amnezia_key
|
||||
```
|
||||
|
||||
Дальше контракт строго такой:
|
||||
|
||||
- на сервер добавляется **публичный** ключ: содержимое `%USERPROFILE%\.ssh\amnezia_key.pub` в `/root/.ssh/authorized_keys`;
|
||||
- в приложении AmneziaVPN в поле **Password or SSH private key** вставляется **приватный** ключ: содержимое `%USERPROFILE%\.ssh\amnezia_key` (без `.pub`).
|
||||
|
||||
Критично: `.pub` никогда не вставляется в AmneziaVPN как private key.
|
||||
|
||||
```bash
|
||||
install -d -m 0700 /root/.ssh
|
||||
@@ -77,7 +88,24 @@ ss -ltnp | grep ':2323'
|
||||
Критично: не закрывайте старую SSH-сессию, пока не проверили новый вход с другого терминала:
|
||||
|
||||
```bash
|
||||
ssh -p 2323 root@<server-ip>
|
||||
ssh -i ~/.ssh/amnezia_key -p 2323 root@<server-ip>
|
||||
```
|
||||
|
||||
Windows-проверки:
|
||||
|
||||
```cmd
|
||||
type %USERPROFILE%\.ssh\amnezia_key.pub
|
||||
type %USERPROFILE%\.ssh\amnezia_key
|
||||
ssh -i %USERPROFILE%\.ssh\amnezia_key -p 2323 root@<server-ip>
|
||||
```
|
||||
|
||||
Поля в интерфейсе AmneziaVPN:
|
||||
|
||||
```text
|
||||
Server IP address [:port] <server-ip>:2323
|
||||
SSH Username root
|
||||
Password or SSH private key содержимое %USERPROFILE%\.ssh\amnezia_key
|
||||
На сервер содержимое %USERPROFILE%\.ssh\amnezia_key.pub в /root/.ssh/authorized_keys
|
||||
```
|
||||
|
||||
Если сервер уже переведён на 2323 случайно и нужно временно вернуть 22 для тестов, поменяйте `Port 2323` на `Port 22`, выполните `sshd -t`, `systemctl reload ssh` и проверьте `ss -ltnp | grep ':22'`.
|
||||
@@ -121,6 +149,10 @@ dpkg-deb -c dist/awg2-harness_0.1.6_amd64.deb | sort
|
||||
|
||||
### 5. Перенести `.deb` и config на production
|
||||
|
||||
Есть два production-сценария установки.
|
||||
|
||||
#### Вариант A: config передаётся вместе с `.deb`
|
||||
|
||||
```bash
|
||||
scp -P 2323 dist/awg2-harness_*_amd64.deb root@<server-ip>:/root/
|
||||
scp -P 2323 dist/SHA256SUMS root@<server-ip>:/root/
|
||||
@@ -129,8 +161,17 @@ scp -P 2323 config.example.toml root@<server-ip>:/root/awg2-harness.config.toml
|
||||
|
||||
Перед установкой отредактируйте `/root/awg2-harness.config.toml`: SSH-порт должен совпадать с реальным sshd, `amnezia_port` — с опубликованным UDP-портом контейнера, `peer_ipv4_cidr` — с подсетью клиентов Amnezia.
|
||||
|
||||
#### Вариант B (основной): config создаётся после установки пакета
|
||||
|
||||
```bash
|
||||
scp -P 2323 dist/awg2-harness_*_amd64.deb root@<server-ip>:/root/
|
||||
scp -P 2323 dist/SHA256SUMS root@<server-ip>:/root/
|
||||
```
|
||||
|
||||
### 6. Установить пакет и config
|
||||
|
||||
Вариант A:
|
||||
|
||||
```bash
|
||||
cd /root
|
||||
sha256sum -c SHA256SUMS
|
||||
@@ -141,6 +182,23 @@ install -m 0644 /root/awg2-harness.config.toml /etc/awg2-harness/config.toml
|
||||
|
||||
Пакет ставит пример config в `/usr/share/doc/awg2-harness/repo/config.example.toml`, но не копирует его в `/etc` автоматически.
|
||||
|
||||
Вариант B (основной):
|
||||
|
||||
```bash
|
||||
cd /root
|
||||
sha256sum -c SHA256SUMS
|
||||
apt install ./awg2-harness_*_amd64.deb
|
||||
install -d -m 0755 /etc/awg2-harness
|
||||
cp /usr/share/doc/awg2-harness/repo/config.example.toml /etc/awg2-harness/config.toml
|
||||
nano /etc/awg2-harness/config.toml
|
||||
```
|
||||
|
||||
В варианте B после `cp` обязательно проверьте перед первым `apply-firewall`:
|
||||
|
||||
- `host_firewall.ssh_port` совпадает с реальным sshd-портом;
|
||||
- `host_firewall.amnezia_port` совпадает с published Docker UDP port;
|
||||
- `amnezia.peer_ipv4_cidr` и `anti_torrent.peer_ipv4_cidr` совпадают с реальной peer-подсетью.
|
||||
|
||||
### 7. Ручная preflight-проверка
|
||||
|
||||
```bash
|
||||
@@ -280,5 +338,6 @@ AWG2 Harness не владеет:
|
||||
- [`docs/CONFIGURATION.md`](docs/CONFIGURATION.md) — параметры `config.toml`.
|
||||
- [`docs/ACCEPTANCE_CHECKLIST.md`](docs/ACCEPTANCE_CHECKLIST.md) — production checklist.
|
||||
- [`docs/ANTI_TORRENT.md`](docs/ANTI_TORRENT.md) — connection-count guard.
|
||||
- [`docs/PRODUCTION_EXAMPLE.md`](docs/PRODUCTION_EXAMPLE.md) — эталонный production-пример.
|
||||
- [`tools/README.md`](tools/README.md) — сборка и упаковка.
|
||||
- [`reboot_module/README.md`](reboot_module/README.md) — внешний reboot scheduler.
|
||||
|
||||
Reference in New Issue
Block a user