# Работа с удалённой машиной Nubes Дата: 2026-03-12 ## Проблема Локальный терминал Copilot нестабилен из-за VPN — команды зависают, таймауты. **Весь код физически живёт на удалённой Ubuntu VM**, доступной по SSH. ## Архитектура ``` Локальная машина (Krupski) └── SSHFS → /home/naeel/remote_dev → naeel@5.172.178.213:/home/naeel/terra └── sless/ ← реальный репозиторий ``` ## Подключение к VM ```bash # Хост VM_HOST=naeel@5.172.178.213 VM_KEY=/home/naeel/.ssh/id_ed25519 # ~/.ssh/id_ed25519 = копия secrets/naeel_vm_id_ed25519 # Проверить подключение ssh -i /home/naeel/.ssh/id_ed25519 -o StrictHostKeyChecking=no naeel@5.172.178.213 "hostname && whoami" # Выполнить команду удалённо ssh -i /home/naeel/.ssh/id_ed25519 -o StrictHostKeyChecking=no naeel@5.172.178.213 "cd /home/naeel/terra/sless && <команда>" ``` ## Путь к репозиторию на VM ``` /home/naeel/terra/sless ``` ## Git push через SSH (Gitea) Remote origin использует HTTPS → нужен SSH для беспарольного пуша. На VM уже лежит ключ `~/.ssh/gitea_key` (тот же ключ, что `id_ed25519`, зарегистрирован в Gitea). ```bash # Пуш с VM ssh -i /home/naeel/.ssh/id_ed25519 -o StrictHostKeyChecking=no naeel@5.172.178.213 \ 'cd /home/naeel/terra/sless && \ GIT_SSH_COMMAND="ssh -i ~/.ssh/gitea_key -o StrictHostKeyChecking=no" \ git push git@gitea-naeel.giteak8s.services.ngcloud.ru:naeel/sless.git ' ``` ## Gitea SSH ключи Ключ `~/.ssh/id_ed25519` зарегистрирован в Gitea: - Email: tazet@narod.ru - Fingerprint: `SHA256:WUAvQXXmRUr6jHHdkMDljKKBUEQ8ot2cTU3YSixqYe4` ## Типовой git workflow (commit + push) Токен лежит в `secrets/gitea.token` (Gitea PAT, repository read+write). ```bash TOKEN=$(cat /home/naeel/remote_dev/sless/secrets/gitea.token | tr -d '\n') ssh -i /home/naeel/.ssh/id_ed25519 -o StrictHostKeyChecking=no naeel@5.172.178.213 " cd /home/naeel/terra/sless git add <файлы> git commit -m '<сообщение>' git push https://naeel:${TOKEN}@gitea-naeel.giteak8s.services.ngcloud.ru/naeel/sless.git " ``` ## SSHFS монтирование (восстановить если упало) ```bash sshfs \ -o IdentityFile=/home/naeel/.ssh/id_ed25519 \ -o StrictHostKeyChecking=no \ -o UserKnownHostsFile=/dev/null \ -o reconnect \ -o ServerAliveInterval=15 \ -o ServerAliveCountMax=3 \ naeel@5.172.178.213:/home/naeel/terra /home/naeel/remote_dev ``` ## Примечания - `secrets/naeel_vm_id_ed25519` и `~/.ssh/id_ed25519` — одинаковые ключи (SHA256 совпадает) - При зависании локального терминала — выполнять команды через SSH на VM напрямую - Git config на VM настроен: `user.name=Naeel`, `user.email=naeel@nubes.ru`