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