Linux
ssh bez hasła
4 years, 2 months ago Dodano w: Linux 0

Logowanie do shell bez podania hasła na linuksie jest jeszcze prostsze niż tworzenie i zarządzanie kluczami poprzez putty w systemie Windows. Wiadomo, dwa linuksy lepiej się „dogadają” niż hybrydowe łączenie z windowsa przez putty na serwer linuksowy. Poniżej najprostszy how-to, dzięki któremu możemy łączyć się całkiem bezpiecznie z terminala linuksowego do serwera SSH (w tym także przesyłanie plików via scp).Przed pierwszym krokiem warto skopiować gdzieś na bok zawartość katalogu ~/.ssh, jeżeli używamy już kluczy (w przypadku niepowodzenia możemy poprostu nadgrać ten katalog z powrotem). Pierwszy krok to wygenerowanie kluczy na stacji roboczej, wystarczy prosta komenda w terminalu: ssh-keygen -t rsa. Kolejne pytania dotyczą faktu, czy chcemy dodać hasło do klucza (dwa razy enter) lub czy chcemy nadpisać istniejący plik z kluczem prywatnym (enter).

Generowanie kluczy

Tworzenie kluczy publicznego i prywatnego

Następnie pozostaje nam dodać klucz publiczny do kluczy na serwerze docelowym wydając komendę: ssh-copy-id uzytkownik@serwer i potwierdzając hasłem do tego serwera. Opcjonalnie możemy posłużyć się komendą scp ~/.ssh/id_rsa.pub uzytkownik@serwer:~/.ssh/authorized_keys, jednak wtedy nadpiszemy być może już istniejące klucze na serwerze.

Kopiowanie klucza publicznego na serwer

Wygenerowanie i zapisanie kluczy we wszystkich miejscach trwa kilka sekund. Od teraz możemy cieszyć się bezpiecznym logowaniem do shella bez podawania hasła. Jednak warto zwrócić uwagę, w przypadku gdy połączenie ma być naprawdę bezpieczne lub chcemy utworzyć tunele na flagę „-F” przy tworzeniu kluczy, możemy dzięki temu ograniczyć hosty jakie mają mieć możliwość korzystania z klucza. Inną opcją jest ustawienie na ilu bitach klucz ma być oparty (flaga „-b”). Jeżeli komuś klucze rsa nie odpowiadają może posłużyć się kluczami dsa (komenda ssh-keygen -t dsa), wtedy należy po prostu skopiować wygenerowany klucz publiczny do pliku ~/.ssh/authorized_keys2, w przypadku używania scp, wygląda to następująco scp ~/.ssh/id_dsa.pub uzytkownik@serwer:~/.ssh/authorized_keys2.

Od teraz możemy się już cieszyć łącznością z ssh bez konieczności podawania hasła, zmiana hasła na serwerze nie wymusi na nas konieczności generowania nowych kluczy, co więcej w przypadku używania scp, mamy również możliwość swobodnego kopiowania plików pomiędzy komputerami. Po prostu żyć nie umierać!

Dodaj komentarz