POL
ENG

SSH - przydatne informacje

Zabrane tu informacje to ekstrakt z oficjalnej strony www.ssh.com. Pomaga to zrozumieć ogólne zasady działania mechanizmów logowania z użyciem pary kluczy: prywatnego i publicznego.

Proces połączenia z serwerem przy zastosowaniu SSH

Do poprawnej komunikcji z serwerem za pomocą kluczy SSH, klucz publiczny klienta musi się znaleźć na serwerze na liście zaufanych kluczy

~/.ssh/authorized_keys

Będzie on później używany do enkrypcji wiadomości wysyłanych do klienta przez serwer. Istnieje kilka metod jego umieszczenia tam.

Kiedy poraz pierwszy klient łączy się z serwerem inicjując połączenie, serwer odpowiada swoim kluczem publicznym. Jeżeli klient go akceptuje, to jest on zapisywany w pliku

~/.ssh/known_hosts

Od tej pory, wszystkie informacje wysyłane do serwera będą szyfrowane tym kluczem. Tylko właściciel klucza prywatnego jest w stanie zdeszyfrować wiadomość.

Klucze:

  • prywatny - tajny i przechowywany po stronie klienta/użytkownika. Często plik jest dodatkowo zabezpieczony hasłem i trzymany w katalogu dostepnym tylko dla root-a. Klucz ten jest używany do generowania klucza publicznego i do dekodowania informacji zaszyfrowanej kluczem publicznym.
  • publiczny - dostępny dla każdego, wysyłany wraz z informacją do odbiorcy. Do mechanizmu logowania, musi znadować się na serwerze i posiadać autoryzację

Generowanie pary kluczy:

Do generowania kluczy służy aplikacja ssh-keygen. Aby wygenerować parę kluczy publicznego i prywatnego stosując algortym RSA, o długości 4096 bytów, do pliku o nazwie "moje_klucze" musimy wydać polecenie:

> ssh-keygen -t rsa -b 4096 -f moje_klucze 

Generowanie klucza publicznego z prywatnego:

Tak, da się tak. Posiadając klucz prywatny możemy wygenerować klucz publiczny. Do tego celu posłuży aplikacja ssh-keygen:

> ssh-keygen -y -f sciezka/do/klucza/prywatnego/moj_klucz > sciezka/do/klucza/prywatnego/moj_klucz.pub

To nie pomyłka w ścieżkach. Pliki powinny, ale nie muszą, być trzymane w jednym miejscu.

Kopiowanie klucza na serwer:

Po wygenerowaniu pary kluczy, musimy publiczny umieścić na serwerze. Używając aplikacji ssh-copy-id zawartość klucza będzie automatycznie sprawdzona i dodana do zestawu kluczy autoryzowanych. Można się do tego posłużyć poleceniem:

> ssh-copy-id -i sciezka/do/pliku/z/kluczem/publicznym -p 2222 user_name@server_name

Lista kluczy:

W prosty sposób można zobaczyć listę już utworzonych kluczy. Pliki domyślnie składowane są w katalogu domowym:

  • linux: ~/.ssh
  • windows - c:/users/user_name/.ssh

lub używając aplikacji ssh-add:

> ssh-add -L

Logowanie:

> ssh -p 2222 user_name@server_name

Wszelkie prawa zastrzeżone. Projekt i wykonanie strony SrcPro.pl