SSH bez hasla ale bardzo bezpiecznie z kluczem publicznym

Zwykle codziennie z biura loguje sie do mojego servera w domu poprzez SSH, poniewaz dosc czesto reinstaluje muj system (Ubuntu) z uwagi na liczne experymenty musze od nowa generowac klucze do autentykacji. Dlatego postanowilem sobie zapisac prosty “przepis” na konfiguracje autentykacji za pomoca kluczy publicznych na Ubuntu.

Szczegółowy opis autentykacji za pomoca kluczy mozna przeczytac na wikipedi, proces ten zwany jest jako “kryptografia asymetryczna

W tym opisie uzywam laptopa by polaczyc sie z serverem za pomoca SSH

Wygeneruj klucz na laptopie

ssh-keygen -t rsa

Jezeli zostaniesz zapytany o haslo mozesz je wpisac lub pozostawic puste, a opcja ‘rsa’ moze byc zastapiona przez ‘dsa’ te opcje odnosza sie do roznych typow enkrypcji.
Sprawdz czy na serverze istnieje folder .ssh
Na serverze powinien byc folder .ssh, sprawdz to komeda ls ~/.ssh jezeli nie pojawi sie blad o nie istniejacym folderze przejdz do nastepnego punktu inaczej mozesz ten folder utworzyc komeda ssh-keygen
Przekopiuj klucz publiczny z laptopa na server.
Jezeli na serverze nie istnieje plik ~/.ssh/authorized_keys2 nalezy go utworzyc, jezeli juz istnieje musiby do niego dodac publiczny klucz utworzony na laptopie w pierwszym punkcie. Do kopiowania z laptopa na server zastosujemy komede:

scp ~/.ssh/id_rsa.pub nasz.server.com:.ssh/authorized_keys2
...keys2  to swiadomy wybor by nie zniszczyc ewentualnie istiejacego pliku z innymi autoryzowanymi kluczami.
Zaloguj sie teraz poraz ostatni na swoj server korzystajac ze satandardowego ssh z haslem.
Bedac na serverze przepisz zawartosc pliku  ~/.ssh/authorized_keys2 do pliku bez 2 na koncu za pomoca nastepujacej komendy:
 cat ~/.ssh/authorized_keys2 >> ~/.ssh/authorized_keys

Uruchom SSH z laptopa do servera

Teraz mozemy wystartowac sesje SSH bez wpisywania hasla wykonujac komede: ssh nasz.server.com Bezpieczenstwo
Pamietaj o tym ze by dostac sie do twojego servera wystarcz ze ktos wejdzie w posiadanie twojego prywatnego klucza na twoim laptopie,
wiec upewnij sie ze ze twoj prywatny klucz jest 'bezpieczny'. Prywatny klucz na laptopie znajduje sie teraz w folderze ~/.ssh/id_rsa
Polaczenie poprzez klucze kryptograficzne jest pewniejsze niz polaczenie porzez podawanie hasla, mozna by to porownac do drzwi mieszkania
gdzie zwykle haslo to klamka do drzwi bez zamka, a klucz publiczny to jak drzwi z zamkiem patentowym, kazdy moze prubowac
wlozyc do niego klucz jednak tylko jeden (nasz) klucz pasuje do tego zamka.

Leave a Reply

Your email address will not be published. Required fields are marked *