CH-J Server Managerspráva serverů přes SSH
Menu
Všechny návody a články →

Jak spravovat několik SSH serverů současně

Udržujte si přehled o více serverech pomocí SSH aliasů a terminálů vedle sebe a vyhněte se spuštění příkazu na nesprávném serveru.

Dejte každému serveru jasný název

Jednotné aliasy šetří čas a omezují chyby. V ~/.ssh/config uložte adresu, uživatele, port a klíč každého serveru pod jedním názvem a zahrňte do něj roli i prostředí, aby byl produkční server zřejmý na první pohled. U voleb, které pro konkrétního hostitele nenastavíte, se použijí hodnoty z bloku Host *.

Host prod-web-1
    HostName 203.0.113.10
    User admin
    IdentityFile ~/.ssh/id_ed25519_prod
    IdentitiesOnly yes

Host test-web-1
    HostName 203.0.113.20
    User admin

Vyhněte se nesprávnému serveru

Při práci na více serverech snadno zadáte příkaz do nesprávného okna. Zobrazujte název hostitele v příkazové výzvě, pro produkci použijte jinou barvu výzvy a před každým destruktivním krokem ověřte, kde jste. Nejnebezpečnější kroky si nechte na chvíli, kdy máte otevřený jen jeden terminál.

hostname -f; whoami; pwd

Udržte dlouhé úlohy v chodu

Při výpadku spojení se obvykle ukončí shell i příkazy, které v něm běží. Dlouhé úlohy spouštějte na serveru v tmux nebo screen, aby pokračovaly a mohli jste se k nim znovu připojit. Klientský keepalive odhalí nefunkční spojení dříve, ale sám o sobě běh úlohy nezachová.

tmux new -s upgrade
tmux attach -t upgrade

Zjistěte, které servery odpovídají

Před zahájením práce na více serverech ověřte, že jejich SSH porty odpovídají. Zavřený port nemusí znamenat, že je server vypnutý: služba mohla být zastavena nebo může firewall blokovat vaši síť.

for host in prod-web-1 test-web-1; do
    ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
done

Více serverů v CH-J Server Manager

Profily serverů jsou uloženy v místním šifrovaném trezoru a současně může být otevřeno více SSH relací. V Alpha 0.1.1 jsou dva terminály vedle sebe nebo nad sebou, na jednom či dvou serverech, a skrytí terminálu jeho relaci neukončí. Moduly automaticky použijí jediné otevřené spojení a při více spojeních se zeptají, takže modul nikdy sám nepřejde na jiný server. Uzamčení trezoru odpojí SSH relace, proto nejprve dokončete běžící práci nebo ji nechte v tmux.

Dostupnost na první pohled

V Alpha 0.1.1 monitor dostupnosti na pozadí kontroluje uložené servery připojením TCP na SSH port, ve výchozím nastavení každých 12 sekund, bez přihlášení. Stav offline pak znamená, že SSH port není z vaší sítě dostupný; samotný server může stále běžet.

Podrobná dokumentace

OpenSSH: ssh_config →

Biometrické odemykání a zabezpečení →