VS Code Remote-SSH: pohodlná práce s kódem přímo na VPS
Rozšíření Remote-SSH pro VS Code – úprava souborů na VPS jako lokálně, SSH config, klíče, terminál, port forwarding, rozšíření na serveru a řešení potíží.
Upravovat konfiguraci nebo kód na serveru přes nano jde, ale pohodlné to není. Rozšíření Remote - SSH pro VS Code připojí editor k VPS: vidíte soubory serveru v průzkumníku, máte zvýrazňování, vyhledávání, Git a terminál – a vše běží na serveru, ne u vás.
Jak to funguje
Po připojení VS Code nainstaluje na server malý VS Code Server (do ~/.vscode-server). Uživatelské rozhraní běží lokálně, ale souborový systém, terminál, Git i jazyková rozšíření (např. Python, ESLint) běží na serveru. Proto vidíte stejné prostředí, jaké aplikace skutečně používá.
Požadavky na server: Linux x64 nebo ARM64 s běžnou glibc (Ubuntu, Debian, Fedora…). Server potřebuje trochu RAM navíc – na VPS s 512 MB může být VS Code Server s rozšířeními znát. Alpine má jen experimentální podporu.
Krok 1: SSH klíč
Pokud se na server ještě přihlašujete heslem, přejděte na klíč:
ssh-keygen -t ed25519 -C "notebook"
ssh-copy-id [email protected]
Na Windows ssh-copy-id není, použijte PowerShell:
type $env:USERPROFILE\.ssh\id_ed25519.pub | ssh [email protected] "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Krok 2: záznam v ~/.ssh/config
Do ~/.ssh/config (Windows: C:\Users\Jmeno\.ssh\config) přidejte:
Host muj-vps
HostName 203.0.113.10
User deploy
Port 22
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval 60
ServerAliveInterval brání odpojení při nečinnosti. Ověřte v terminálu: ssh muj-vps.
Krok 3: připojení z VS Code
- Nainstalujte rozšíření Remote - SSH (od Microsoftu).
F1→ Remote-SSH: Connect to Host… → vybertemuj-vps.- Při prvním připojení zvolte platformu serveru (Linux).
- File → Open Folder a otevřete např.
/srv/app.
V levém dolním rohu uvidíte zelený indikátor SSH: muj-vps. Terminál (Terminal → New Terminal) je nyní terminál na serveru.
Rozšíření: lokální vs. vzdálená
V panelu rozšíření jsou dvě sekce: Local a SSH: muj-vps. Jazyková rozšíření (Python, Pylance, ESLint, Docker…) je potřeba nainstalovat na server tlačítkem Install in SSH: muj-vps. Motivy a klávesové zkratky zůstávají lokálně.
Seznam rozšíření, která se mají na každý server instalovat automaticky, nastavíte v settings.json:
{
"remote.SSH.defaultExtensions": [
"ms-python.python",
"ms-azuretools.vscode-docker"
]
}
Port forwarding
Aplikace na serveru běží na 127.0.0.1:8000 a nechcete ji publikovat do internetu? VS Code přesměruje port automaticky (záložka Ports), nebo ručně Forward a Port → 8000. Pak otevřete http://localhost:8000 na svém počítači. Stejně se dostanete k Portaineru, Adminer nebo jiným interním nástrojům bez otevírání firewallu.
Práce s právy
Připojujte se jako běžný uživatel, ne root. Soubory v /etc ale vlastní root, takže je VS Code neuloží. Možnosti:
- Upravit soubor v terminálu přes
sudo nanonebosudoedit. - Pro složky aplikace nastavit správného vlastníka:
sudo chown -R deploy:deploy /srv/app. - Přidat uživatele do skupiny, která soubory vlastní (např.
www-data) a nastavit práva skupině.
Přihlášení jako root přes Remote-SSH sice funguje, ale vypnutý root login (PermitRootLogin no) je dobrá bezpečnostní praxe.
Git na serveru
Zabudovaný Source Control funguje na serveru. Pro push na GitHub použijte buď deploy klíč na serveru (viz Git na serveru a deploy klíče), nebo agent forwarding, kdy server použije klíč z vašeho počítače:
Host muj-vps
HostName 203.0.113.10
User deploy
ForwardAgent yes
Lokálně musí běžet ssh-agent s načteným klíčem (ssh-add). Agent forwarding zapínejte jen pro servery, kterým důvěřujete – root na serveru může váš agent po dobu připojení použít.
Řešení potíží
| Problém | Řešení |
|---|---|
| připojení visí na „Setting up SSH Host“ | Remote-SSH: Kill VS Code Server on Host… a připojit znovu, nebo smazat ~/.vscode-server na serveru |
Could not establish connection |
nejdřív ověřit ssh muj-vps v terminálu; podrobnosti v Output → Remote - SSH |
| VS Code Server se nestáhne | server nemá přístup do internetu – nastavte remote.SSH.localServerDownload na always |
| pomalé vyhledávání a vysoká zátěž | vyloučit node_modules, venv přes files.watcherExclude a search.exclude |
| po upgradu VS Code chyba | starý server na hostiteli – smazat ~/.vscode-server/bin |
Vyloučení velkých složek z hlídání souborů výrazně uleví slabým VPS:
{
"files.watcherExclude": {
"**/node_modules/**": true,
"**/.venv/**": true,
"**/.git/objects/**": true
}
}
Opatrně v produkci
Úprava kódu přímo na produkčním serveru je rychlá, ale obchází Git, review a testy. Pro ladění a konfiguraci je Remote-SSH skvělý; běžné změny kódu ale raději dělejte lokálně a nasazujte přes Git. Ideální je mít na VPS samostatné vývojové prostředí.
Tip
Pokud máte VPS připojený v ColdHost AI, server můžete z rozhraní otevřít ve VS Code přes Remote-SSH tlačítkem „otevřít ve VS Code“ a ve VS Code pak pokračovat s AI přes rozšíření Continue, Cline nebo Roo Code napojené na ColdHost AI API.