SSH to następca Telnet, służącego do łączenia się ze zdalnym komputerem przez konsole. Różni się od poprzednika tym, że jest szyfrowane i ma wiele metod autoryzacji użytkownika. SSH to wspólna nazwa dla całej rodziny protokołów nie tylko terminalowych, lecz takich jak SCP, SFTP.
Jak wygenerować parę kluczy?
- W terminalu wywołujemy następujące polecenie (zostaniemy zapytani podczas generowania klucza, w którym miejscu ma zostać on zapisany, zostawiamy domyślne, tylko zmieniamy nazwę):
ssh-keygen
Domyślnie szyfrowanie to 2048-bit RSA, można zmienić długość klucza np. na 4096-bit ustawiając flagę -b:
ssh-keygen -b 4096
- Następnie dodajemy nasz nowo wygenerowany klucz do systemu:
ssh-add ~/.ssh/key_name
- I gotowe, teraz możemy się cieszyć naszym nowym kluczem i autoryzować się za jego pomocą 😀
Flagi:
Za pomocą flagi -t możemy zmienić typ szyfrowania z RSA (domyślnego) na DSA, ECDSA, ED25519:
ssh-keygen -t dsa
Dostępne typy (zależnie od platformy) można znaleźć tutaj.
Kolejną użyteczną flagą jest -C, dzięki której możemy dodać komentarz do klucza:
ssh-keygen -C "user@host.com"
W systemie Windows możemy wygenerować parę kluczy za pomocą PuttyGen.
Do czego służy klucz publiczny, a do czego prywatny w komunikacji klient-serwer?
Klucz prywatny użytkownik zatrzymuje dla siebie, a publiczny służy do umieszczenia na serwerze.
Certyfikaty:
Tutaj jest opisane gdzie skopiować certyfikaty i jak potem zainstalować.
Linki i źródła:
https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys-on-ubuntu-1804
http://blog.wirone.info/2011/05/14/generowanie-i-uzywanie-kluczy-ssh