Nadaj każdemu serwerowi czytelną nazwę
Spójny alias oszczędza czas i ogranicza pomyłki. W ~/.ssh/config przechowuj adres, użytkownika, port i klucz każdego serwera pod jedną nazwą, a w nazwie uwzględnij rolę i środowisko, aby od razu rozpoznać produkcję. Dla opcji nieustawionych dla konkretnego hosta obowiązują wartości 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 adminUnikaj pracy na niewłaściwym serwerze
Podczas pracy na wielu serwerach łatwo wpisać polecenie w niewłaściwym oknie. Wyświetlaj nazwę hosta w znaku zachęty, na produkcji używaj innego koloru znaku zachęty i przed każdą destrukcyjną operacją sprawdzaj, gdzie jesteś. Najbardziej niebezpieczne kroki zostaw na chwilę, gdy otwarty jest tylko jeden terminal.
hostname -f; whoami; pwdUtrzymaj długie zadania w działaniu
Zerwane połączenie zwykle kończy powłokę i uruchomione w niej polecenia. Długie zadania uruchamiaj na serwerze w tmux lub screen, aby działały dalej i można było ponownie się do nich podłączyć. Mechanizm keepalive klienta szybciej wykrywa zerwane połączenie, ale sam nie podtrzymuje działania zadania.
tmux new -s upgrade
tmux attach -t upgradeSprawdź, które serwery odpowiadają
Przed rozpoczęciem pracy na wielu serwerach sprawdź, czy ich porty SSH odpowiadają. Zamknięty port nie zawsze oznacza, że serwer nie działa: usługa mogła się zatrzymać albo zapora może blokować Twoją sieć.
for host in prod-web-1 test-web-1; do
ssh -o ConnectTimeout=5 "$host" 'hostname; uptime' || echo "$host: no connection"
doneWiele serwerów w CH-J Server Manager
Profile serwerów są przechowywane w lokalnym szyfrowanym sejfie, a jednocześnie można otworzyć wiele sesji SSH. W Alpha 0.1.1 dwa terminale są wyświetlane obok siebie lub jeden nad drugim, na jednym albo dwóch serwerach, a ukrycie terminala nie kończy jego sesji. Moduły automatycznie używają jedynego otwartego połączenia, a gdy jest ich więcej, pytają o wybór, więc moduł nigdy sam nie przełącza się na inny serwer. Zablokowanie sejfu rozłącza sesje SSH, dlatego najpierw zakończ trwające zadania lub pozostaw je w tmux.
Dostępność na pierwszy rzut oka
W Alpha 0.1.1 monitor dostępności sprawdza zapisane serwery w tle za pomocą połączenia TCP z portem SSH, domyślnie co 12 sekund, bez logowania. Status offline oznacza wtedy, że port SSH jest nieosiągalny z Twojej sieci; sam serwer może nadal działać.