Servery a DevOps

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íží.

12. 10. 2026 · 4 min čtení

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

  1. Nainstalujte rozšíření Remote - SSH (od Microsoftu).
  2. F1 → Remote-SSH: Connect to Host… → vyberte muj-vps.
  3. Při prvním připojení zvolte platformu serveru (Linux).
  4. 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 nano nebo sudoedit.
  • 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.