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>
167 lines
13 KiB
Markdown
167 lines
13 KiB
Markdown
# Установка 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`
|