Logowanie przez SSH może być upierdliwe, zwłaszcza jeśli serwery są dostępne tylko przez IP lub przez długą domenę, a SSH działa na niestandardowym porcie. Mam pod swoją opieką kilka takich serwerów i spamiętanie adresów i portów nie bardzo mi szło. Swego czasu ułatwiałem sobie życie przez dodawanie adresów do pliku /etc/hosts
, ale to niezbyt sensowne rozwiązanie. Jest lepsze, które odkryłem przy lekturze podręcznika ssh.
W pliku ~/.ssh/config
można zdefiniować sobie parametry dostępu do poszczególnych hostów. Wygląda to tak:
Host challenger HostName challenger.femina.com.pl Host bigtruck HostName s74.vdl.pl Port 59184 User bigtruck
Dzięki temu żeby zalogować się na serwer bigtruck zamiast wpisywać:
ssh -p 59184 bigtruck@s74.vdl.pl
wystarczy:
ssh bigtruck
Dodatkową zaletą jest to, że na serwery wpisane w konfigurację ssh działa automatyczne uzupełnianie, więc w powyższym przykładzie wystarczy wklepać tylko pierwsze litery nazwy, a potem tab.
Pozostaje kwestia haseł. Temat autoryzacji przez klucze jest opisany w różnych HOWTO milion razy, ale w większości wypadków przepis zaleca ręczne skopiowanie pliku w odpowiednie miejsce na docelowym serwerze. Można prościej:
ssh-copy-id bigtruck
Dzięki tym dwóm zabiegom logowanie przez SSH jest szybkie jak mrugnięcie okiem i proste jak konstrukcja cepa.
Dziękuję ślicznie za ten typ – zaoszczędzi mi to sporo czasu :-) Pozdrawiam!