Expand local_machine docs and automation for connectivity, games, and ops.

Add proxy/VPN/telegram launchd and emergency runbooks; reorganize apps docs;
document JA3 CrossOver runbook and Wine troubleshooting; add GOG/HoMM game
scripts, disk cleanup guides, and gitea push-via-proxy helper. Ignore temp/.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
ahauimix
2026-06-01 08:12:19 +03:00
parent a39ef89125
commit 1938b7c743
135 changed files with 9933 additions and 388 deletions

View File

@@ -0,0 +1,166 @@
# Установка SSH-ключа на Windows (только для туннеля через прокси)
Инструкция для тех, кто впервые настраивает такой доступ. Все шаги расписаны по порядку.
---
## Зачем это нужно
Чтобы Cursor (или Telegram) на Windows могли работать через прокси-сервер **ru.hunab.app**, нужен **SSH-ключ**. Это пара файлов: «приватный» (секретный, хранится только у вас) и «публичный» (его один раз добавляют на сервер). После этого Windows сможет подключаться к серверу **без ввода пароля**, только по ключу. Ключ используется **только для туннеля** — никаких прав на сервере пользователю не нужно.
**Если с Windows нет доступа к интернет-серверу** (например, вы за корпоративным файрволом), ключ создают на другой машине (Mac), публичный ключ ставят на сервер, а **приватный ключ** переносят на Windows. Дальше в инструкции два варианта: A (ключ создан на Mac) и B (ключ создают на самой Windows).
---
## Небольшой словарик
| Слово | По-простому |
|-------|-------------|
| **SSH** | Способ безопасно подключаться к удалённому компьютеру по сети. |
| **SSH-ключ** | Пара файлов (приватный + публичный). Вместо пароля сервер проверяет, что у вас есть «ваша половина» ключа. |
| **Приватный ключ** | Файл `id_ed25519`. Храните только у себя, никому не отдавайте. |
| **Публичный ключ** | Файл `id_ed25519.pub`. Его один раз добавляют на сервер в список разрешённых ключей. |
| **%USERPROFILE%** | Папка вашего пользователя Windows, например `C:\Users\Иван`. В PowerShell то же самое записывается как `$env:USERPROFILE`. |
| **PowerShell** | Программа в Windows для ввода текстовых команд. Открывается через поиск по названию «PowerShell» или через меню Win+X → «Windows PowerShell». |
---
## Вариант A: Ключ создан на Mac (с Windows до сервера доступа нет)
Этот вариант для ситуации, когда с Windows-компьютера вы **не** можете зайти на сервер 149.154.64.19 (нет доступа в интернет к нему или он закрыт). Ключ создаётся на Mac (или другой машине, с которой сервер доступен), затем **один файл** переносится на Windows.
### Часть 1. На Mac (или другой машине с доступом к серверу)
1. Откройте **Терминал** на Mac.
2. Перейдите в папку с репозиторием **local_machine** (корень репо — та папка, где лежат папки `docs`, `scripts` и т.д.):
```bash
cd /путь/к/local_machine
```
Пример: `cd /Users/eternal/code/local_machine`
3. Запустите скрипт:
```bash
./docs/connectivity/scripts/create-windows-proxy-key.sh
```
4. Скрипт создаст ключ и сам добавит публичный ключ на сервер. В конце он выведет текст вроде:
- «Скопировать на Windows один файл: …/windows-proxy-key/id_ed25519»
- «На Windows положить в: %USERPROFILE%\.ssh\id_ed25519»
Запомните или сохраните этот путь к файлу на Mac. Публичный ключ на сервер уже добавлен, больше на Mac ничего делать не нужно.
### Часть 2. На Windows — куда положить ключ
**Куда копировать:** в папку вашего пользователя, в подпапку `.ssh`. Полный путь выглядит так:
- `C:\Users\**ИмяПользователя**\.ssh\id_ed25519`
**ИмяПользователя** — это то имя, под которым вы входите в Windows (та же папка, что открывается, когда вы в проводнике заходите в «Этот компьютер» → «Локальный диск (C:)» → «Users»).
**Как сделать по шагам:**
1. **Создать папку `.ssh`**, если её ещё нет:
- Нажмите **Win+R** (клавиша с логотипом Windows и буква R).
- Введите: `%USERPROFILE%` и нажмите Enter. Откроется ваша папка пользователя (например, `C:\Users\Иван`).
- В этой папке создайте новую папку с именем **`.ssh`** (точка в начале обязательна). Если Windows спросит про объединение имени — оставьте именно `.ssh`.
2. **Скопировать файл с Mac на Windows** (флешка, облако, мессенджер — как удобно). Файл должен называться **`id_ed25519`** (без расширения .txt и без .pub).
3. **Положить файл в папку `.ssh`:**
- Перетащите `id_ed25519` в папку `C:\Users\**ВашеИмя**\.ssh\`
- Итог: файл должен лежать по пути `C:\Users\**ВашеИмя**\.ssh\id_ed25519`.
### Часть 3. Проверка на Windows
1. Откройте **PowerShell** (поиск в меню Пуск: «PowerShell» → «Windows PowerShell»).
2. Введите команду (можно скопировать целиком; путь подставится сам):
```powershell
ssh -i $env:USERPROFILE\.ssh\id_ed25519 ahau@149.154.64.19 "echo OK"
```
3. При первом запуске может появиться вопрос «Trust this host?» — введите **yes** и нажмите Enter.
4. **Ожидаемый результат:** в следующей строке выводится только слово **OK**. Пароль спрашивать не должно.
Если вывело **OK** — ключ установлен правильно. Дальше: настройка туннеля и Cursor по инструкции [WINDOWS_CURSOR_TUNNEL.md](./WINDOWS_CURSOR_TUNNEL.md).
Если появилась ошибка (например, «Permission denied» или «Could not resolve hostname»), проверьте:
- файл лежит именно в `C:\Users\**ВашеИмя**\.ssh\id_ed25519`;
- файл скопирован полностью, не переименован в `id_ed25519.txt`;
- с Mac скрипт действительно выполнился до конца и написал, что публичный ключ добавлен на сервер.
---
## Вариант B: Ключ создаётся на Windows (с Windows есть доступ к серверу)
Если с вашего Windows-компьютера **есть** доступ в интернет до 149.154.64.19, ключ можно создать прямо на Windows и один раз добавить публичный ключ на сервер (с этой же Windows или с Mac).
### Что понадобится
- Файл **`setup-ssh-key-for-proxy.ps1`** из репо: `docs/connectivity/scripts/setup-ssh-key-for-proxy.ps1`. Скопируйте его на Windows в любую папку (например, «Загрузки» или папку с репо).
- В Windows должен быть установлен **OpenSSH-клиент**. Проверка: откройте PowerShell и введите `ssh -V`. Должна появиться строка с версией (например, OpenSSH_for_Windows_8.x). Если команда не найдена — установите: **Параметры Windows** → **Приложения** → **Дополнительные компоненты** → найдите **OpenSSH-клиент** → Установить.
### Шаг 1. Разрешить выполнение скриптов (сделать один раз)
1. Откройте **PowerShell** (не cmd). Лучше «Запуск от имени текущего пользователя».
2. Введите команду:
```powershell
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
```
3. На вопрос о смене политики ответьте **Y** (или **A**) и нажмите Enter.
### Шаг 2. Запустить скрипт установки ключа
1. В PowerShell перейдите в папку, куда положили `setup-ssh-key-for-proxy.ps1`. Пример для папки «Загрузки»:
```powershell
cd $env:USERPROFILE\Downloads
```
Если файл в другой папке, подставьте свой путь вместо `Downloads`.
2. Запустите скрипт:
```powershell
.\setup-ssh-key-for-proxy.ps1
```
3. **Если ключа ещё нет:** скрипт спросит, создать ли новый ключ. Введите **Y** и Enter. Он создаст файлы в папке `%USERPROFILE%\.ssh\` и выведет **одну длинную строку** (публичный ключ). Эту строку нужно один раз добавить на сервер (см. ниже).
4. **Если ключ уже лежит в `%USERPROFILE%\.ssh\id_ed25519`:** скрипт просто проверит подключение и напишет что-то вроде `[OK] SSH works`.
### Шаг 3. Добавить публичный ключ на сервер (только если ключ создали на Windows)
Если вы только что сгенерировали ключ на Windows, скрипт вывел строку вида:
`ssh-ed25519 AAAAC3... много символов ... windows-proxy-tunnel`
Эту строку **целиком** нужно один раз добавить на сервер 149.154.64.19 в файл `~/.ssh/authorized_keys` пользователя **ahau**. Сделать это может кто-то с доступом к серверу (например, с Mac):
```bash
# Выполнить на сервере 149.154.64.19 под пользователем ahau (или с Mac: ssh ahau@149.154.64.19)
echo "ВСТАВЬТЕ_СЮДАЕЛИКОМ_СТРОКУЗ_СКРИПТА" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
```
После этого на Windows снова запустите `.\setup-ssh-key-for-proxy.ps1` — должно появиться `[OK] SSH works`.
### Шаг 4. Проверить подключение вручную
В PowerShell:
```powershell
ssh -i $env:USERPROFILE\.ssh\id_ed25519 ahau@149.154.64.19 "echo OK"
```
Должно вывести **OK** без запроса пароля.
---
## Дальше
- Настройка туннеля и Cursor: [WINDOWS_CURSOR_TUNNEL.md](./WINDOWS_CURSOR_TUNNEL.md).
- Приватный ключ (`id_ed25519`) никому не передавайте и не выкладывайте никуда.
---
## Кратко: какие файлы для чего
| Файл | Где запускать | Что делает |
|------|----------------|------------|
| **create-windows-proxy-key.sh** | На **Mac** (в папке репо) | Создаёт ключ, добавляет публичный ключ на сервер. Приватный ключ остаётся в папке `windows-proxy-key/`его нужно скопировать на Windows. |
| **setup-ssh-key-for-proxy.ps1** | На **Windows** | Проверяет или создаёт ключ в `%USERPROFILE%\.ssh\`, проверяет подключение к серверу, при необходимости дописывает в конфиг SSH хост `hsites-ahau`. |
Пути в репозитории:
`docs/connectivity/scripts/create-windows-proxy-key.sh`
`docs/connectivity/scripts/setup-ssh-key-for-proxy.ps1`