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:
166
docs/connectivity/WINDOWS_SSH_KEY_INSTALL.md
Normal file
166
docs/connectivity/WINDOWS_SSH_KEY_INSTALL.md
Normal 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`
|
||||
Reference in New Issue
Block a user