Sporo osób musi korzystać czasem z SSH. Wśród tej grupy osób istnieje też pewna grupa, która z kontem shellowym jest na Ty i nie wyobraża sobie bez niego życia. Warunkiem koniecznym do korzystania z tej wspaniałej usługi jest logowanie. Czyli wpisanie w konsoli czegoś takiego:
ssh user@serwer.gdzies.tam.daleko.pl
oraz podanie swojego hasła. No nie wygląda to zbyt sympatycznie. A co by było gdyby połączyć się na przykład o takim poleceniem:

serwerek

Nie wygląda to zachęcająco? No ba ;) Jak jeszcze dodam że jak wytrwacie do końca porady to nie będzie trzeba wpisywać swojego hasła, to się rozpłyniecie ze szczęścia. Tylko pytanie brzmi jak to zrobić.

Aliasy

Każdy kto używa konsoli bashowej powinien zaprzyjaźnić się z czymś takim jak .bash.rc. Podczas uruchomienia konsoli z tego o to pliku w waszym katalogu domowym są ładowane wszelkiego rodzaju zmienne środowiskowe oraz aliasy – na szczególnie interesują te ostatnie. Dodając tam przykładowo takie o to linijki:

#aliasy - ssh
alias olimp="ssh -X login@naserwerze1"
alias rudy="ssh login2@naserwerze2 -MasakrycznieDuzoParametrow"

Oczywiście informuje uprzejmie że 1 linijka to komentarz ;) Następne 2 linijki to właśnie te nieszczęsne aliasy. Zasada jest prosta – najpierw podajemy „polecenie” a potem to co chcemy wykonać w konsoli. Oczywiście może tam się pojawić jakiś skrypcik. Gwoli formalności jeszcze dodam że można tworzyć aliasy tymczasowe. Jak wpiszemy np linijkę 2 nie do tego pliku lecz wpiszemy bezpośrednio do konsoli, to po wylogowaniu alias „znika”. Wygodne gdy na przykład robimy jakąś prace która wymaga wpisywania wielokrotnie tych samych tasiemców.

Tworzenie certyfikatu

Obiecałem logowanie bez hasła. Głupotą byłoby jednak umożliwienie logowania bez jakiegokolwiek uwierzytelnienia – wtedy każdy cep z ulicy mógłby wejść nam na serwer a tego byśmy raczej nie chcemy (chyba że mamy jakiś dziwny fetysz). No to trzeba stworzyć certyfikat.

ssh-keygen -rsa

Utworzyliśmy 2 klucze – prywatny i publiczny. Pierwszego strzeżemy jak oka w głowie – umożliwia on logowanie. Drugi klucz służy do potwierdzenia naszej tożsamości. I go wysyłamy na serwer:

scp ~/.ssh/id_rsa.pub login@serwer:~/

A następnie dodajemy go na zdalnym serwerze do listy zaufanych kluczy:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

Po wylogowaniu powinno wszystko działać jak w szwajcarskim zegarku. Tylko nie zapominajcie o wygenerowaniu nowego certyfikatu co jakiś czas, oraz zabezpieczeniu swojego komputera silnym hasłem.

Oczywiście wygenerowany klucz możecie dodać do PuTTY-ego:

putty