Files
local_machine/docs/connectivity/WINDOWS_SSH_KEY_INSTALL.md
ahauimix 1938b7c743 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>
2026-06-01 08:12:19 +03:00

167 lines
13 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Установка 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`