CH-J Server Managerserverhantering över SSH
Menyn
Alla guider och artiklar →

Så hanterar du flera SSH-servrar samtidigt

Håll ordning på flera servrar med SSH-alias och terminaler sida vid sida, och undvik att köra ett kommando på fel server.

Ge varje server ett tydligt namn

Konsekventa alias sparar tid och minskar risken för misstag. Samla adress, användare, port och nyckel för varje server under ett namn i ~/.ssh/config och ta med roll och miljö i namnet, så att produktion känns igen direkt. Alternativ som du inte anger för en viss värd hämtas från blocket 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

Undvik fel server

När du arbetar på flera servrar är det lätt att skriva ett kommando i fel fönster. Visa värdnamnet i kommandoprompten, använd en annan promptfärg i produktion och kontrollera var du är före varje destruktiv åtgärd. Spara de farligaste stegen till ett tillfälle när bara en terminal är öppen.

hostname -f; whoami; pwd

Låt långvarigt arbete fortsätta

En bruten anslutning avslutar normalt skalet och kommandona som körs i det. Kör långa jobb i tmux eller screen på servern, så att de fortsätter och du kan återansluta till dem. Klientens keepalive upptäcker en död anslutning tidigare, men håller inte jobbet igång på egen hand.

tmux new -s upgrade
tmux attach -t upgrade

Se vilka servrar som svarar

Kontrollera att servrarnas SSH-portar svarar innan du börjar arbeta på flera servrar. En stängd port betyder inte alltid att servern är nere: tjänsten kan ha stannat, eller så blockerar en brandvägg ditt nätverk.

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

Flera servrar i CH-J Server Manager

Serverprofiler lagras i ett lokalt krypterat valv och flera SSH-sessioner kan vara öppna samtidigt. I Alpha 0.1.1 kan två terminaler visas sida vid sida eller ovanför varandra, på en eller två servrar, och att dölja en terminal avslutar inte dess session. Moduler använder automatiskt den enda anslutningen och frågar när flera är öppna, så en modul byter aldrig server på egen hand. När valvet låses kopplas SSH-sessionerna från, så avsluta pågående arbete först eller låt det köras i tmux.

Tillgänglighet på ett ögonkast

I Alpha 0.1.1 kontrollerar tillgänglighetsövervakaren sparade servrar i bakgrunden med en TCP-anslutning till SSH-porten, som standard var 12:e sekund, utan att logga in. Offline betyder då att SSH-porten inte kan nås från ditt nätverk; själva servern kan fortfarande vara igång.

Detaljerad dokumentation

OpenSSH: ssh_config →

Biometrisk upplåsning och säkerhet →