CH-J Server Managermanagementul serverului peste SSH
Meniu
Toate ghidurile și articolele →

Cum să administrezi mai multe servere SSH simultan

Organizează mai multe servere cu aliasuri SSH și terminale alăturate și evită să execuți o comandă pe serverul greșit.

Dă fiecărui server un nume clar

Un alias consecvent economisește timp și reduce greșelile. În ~/.ssh/config, păstrează adresa, utilizatorul, portul și cheia fiecărui server sub un singur nume și include rolul și mediul în acel nume, astfel încât producția să fie evidentă dintr-o privire. Pentru opțiunile pe care nu le setezi pentru o anumită gazdă se aplică valorile din blocul 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

Evită serverul greșit

Când lucrezi pe mai multe servere, este ușor să introduci o comandă în fereastra greșită. Afișează numele gazdei în prompt, folosește o altă culoare pentru prompt în producție și verifică unde ești înainte de orice operație distructivă. Păstrează pașii cei mai periculoși pentru un moment în care este deschis un singur terminal.

hostname -f; whoami; pwd

Menține în execuție sarcinile lungi

O conexiune întreruptă încheie în mod normal shell-ul și comenzile care rulează în el. Rulează sarcinile lungi în tmux sau screen pe server, astfel încât să continue și să te poți reconecta la ele. Mecanismul keepalive al clientului detectează mai repede o conexiune pierdută, dar nu menține singur sarcina în execuție.

tmux new -s upgrade
tmux attach -t upgrade

Află ce servere răspund

Înainte de a începe lucrul pe mai multe servere, verifică dacă porturile lor SSH răspund. Un port închis nu înseamnă întotdeauna că serverul este oprit: serviciul poate fi oprit sau un firewall îți poate bloca rețeaua.

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

Mai multe servere în CH-J Server Manager

Profilurile serverelor sunt stocate într-un seif local criptat și pot fi deschise simultan mai multe sesiuni SSH. În Alpha 0.1.1, două terminale sunt afișate alăturat sau unul deasupra celuilalt, pe un server sau două, iar ascunderea unui terminal nu îi încheie sesiunea. Modulele folosesc automat conexiunea când este deschisă una singură și cer o alegere când sunt deschise mai multe, astfel încât un modul nu trece niciodată singur la alt server. Blocarea seifului deconectează sesiunile SSH, așa că termină mai întâi sarcinile în curs sau păstrează-le în tmux.

Disponibilitatea dintr-o privire

În Alpha 0.1.1, monitorul de disponibilitate verifică serverele salvate în fundal printr-o conexiune TCP la portul SSH, implicit la fiecare 12 secunde, fără autentificare. Offline înseamnă atunci că portul SSH nu poate fi accesat din rețeaua ta; serverul în sine poate funcționa în continuare.

Documentație detaliată

OpenSSH: ssh_config →

Deblocare biometrică și securitate →