docs: инструкция по работе с удалённой VM через SSH
This commit is contained in:
@@ -0,0 +1,87 @@
|
||||
# Работа с удалённой машиной 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 <branch>'
|
||||
```
|
||||
|
||||
## Gitea SSH ключи
|
||||
|
||||
Ключ `~/.ssh/id_ed25519` зарегистрирован в Gitea:
|
||||
- Email: tazet@narod.ru
|
||||
- Fingerprint: `SHA256:WUAvQXXmRUr6jHHdkMDljKKBUEQ8ot2cTU3YSixqYe4`
|
||||
|
||||
## Типовой git workflow (commit + push)
|
||||
|
||||
```bash
|
||||
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_SSH_COMMAND="ssh -i ~/.ssh/gitea_key -o StrictHostKeyChecking=no" \
|
||||
git push git@gitea-naeel.giteak8s.services.ngcloud.ru:naeel/sless.git <branch>
|
||||
'
|
||||
```
|
||||
|
||||
## 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`
|
||||
Reference in New Issue
Block a user