SSH туннели для VPS reverse proxy
📁
~/Projects/docs-a2v/content/guides/ssh-tunnels-vps.md
Настройка SSH туннелей
VPS reg.ru (95.163.232.9)
# На Mac Studio: создать туннель для каждого сервиса
ssh -N -R 8080:localhost:8080 root@95.163.232.9 # leadera-api
ssh -N -R 8081:localhost:4096 root@95.163.232.9 # opencode
ssh -N -R 8082:localhost:4200 root@95.163.232.9 # leadera-fe
ssh -N -R 8083:localhost:8080 root@95.163.232.9 # docs-a2v
Настройка launchd plist
Файл: ~/Library/LaunchAgents/com.openclaw.sshtunnel.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.openclaw.sshtunnel</string>
<key>ProgramArguments</key>
<array>
<string>ssh</string>
<string>-N</string>
<string>-R</string>
<string>8080:localhost:8080</string>
<string>root@95.163.232.9</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
Автозапуск
# Загрузить plist
launchctl load ~/Library/LaunchAgents/com.openclaw.sshtunnel.plist
# Проверить статус
launchctl list | grep sshtunnel
# Удалить (при необходимости)
launchctl unload ~/Library/LaunchAgents/com.openclaw.sshtunnel.plist
Доступ к сервисам
Через reverse proxy на VPS:
- code.a2v.space: порт 8080 → Mac Studio:4096
- claw.a2v.space: порт 8081 → Mac Studio:8080 (leadera-api)
- sand.a2v.space: порт 8082 → Mac Studio:4200 (leadera-fe)
- docs.a2v.space: порт 8083 → Mac Studio:8080 (docs-a2v)
SSL
Все сервисы используют Let’s Encrypt сертификаты:
- Путь:
/etc/letsencrypt/live/{claw,code,sand}.a2v.space/ - Автопродление через certbot