#!/usr/bin/env bash # Создать SSH-ключ для туннеля на Windows и добавить публичный ключ на прокси. # Запускать на машине, с которой ЕСТЬ доступ к 149.154.64.19 (например Mac). # Приватный ключ остаётся в windows-proxy-key/ — скопировать на Windows в %USERPROFILE%\.ssh\id_ed25519 set -e SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" KEY_DIR="${SCRIPT_DIR}/windows-proxy-key" KEY_FILE="${KEY_DIR}/id_ed25519" PROXY_HOST="${CURSOR_TUNNEL_HOST:-hsites-ahau}" echo "=== Ключ для туннеля на Windows (только туннелирование, прав на сервере не нужно) ===" echo " Прокси: $PROXY_HOST (149.154.64.19)" echo "" mkdir -p "$KEY_DIR" chmod 700 "$KEY_DIR" if [[ -f "$KEY_FILE" ]]; then echo "Ключ уже есть: $KEY_FILE" echo "Публичный ключ на сервере уже добавлен (если скрипт выполнялся до конца)." echo "" echo "Скопируйте на Windows один файл (приватный ключ):" echo " Источник: $KEY_FILE" echo " На Windows: %USERPROFILE%\\.ssh\\id_ed25519" echo "" exit 0 fi echo "Создаю ключ в $KEY_DIR ..." ssh-keygen -t ed25519 -f "$KEY_FILE" -N "" -C "windows-proxy-tunnel" echo "" echo "Добавляю публичный ключ на сервер $PROXY_HOST ..." cat "${KEY_FILE}.pub" | ssh "$PROXY_HOST" "mkdir -p ~/.ssh && chmod 700 ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys" echo "[OK] Публичный ключ добавлен в ~/.ssh/authorized_keys на сервере." echo "" echo "Проверка подключения с этим ключом..." ssh -i "$KEY_FILE" -o BatchMode=yes -o ConnectTimeout=10 "$PROXY_HOST" "echo OK" || { echo "Проверка не удалась."; exit 1; } echo "[OK] Подключение работает." echo "" echo "--- Что сделать дальше ---" echo "1. Скопировать на Windows ОДИН файл (приватный ключ, никому не передавать):" echo " $KEY_FILE" echo " На Windows положить в: %USERPROFILE%\\.ssh\\id_ed25519" echo " (папку .ssh создать, если нет.)" echo "" echo "2. На Windows запустить туннель: см. docs/connectivity/WINDOWS_CURSOR_TUNNEL.md" echo " или: ssh -D 10809 -o ServerAliveInterval=30 -o ServerAliveCountMax=6 ahau@149.154.64.19" echo ""