Konfiguracja scentralizowanego uwierzytelniania SSH
Scentralizowane uwierzytelnianie SSH pozwala na zarządzanie dostępem do serwerów SSH z jednego miejsca. Umożliwia to wygodne i bezpieczne logowanie się użytkowników bez konieczności pamiętania wielu haseł.
W tym poradniku pokażemy, jak skonfigurować scentralizowane uwierzytelnianie SSH z wykorzystaniem serwera OpenLDAP.
Wymagania
- Serwer z systemem Linux lub FreeBSD
- Zainstalowany serwer OpenLDAP
- Zainstalowany klient SSH
Kroki
- Konfiguracja serwera OpenLDAP
Należy dodać użytkowników i grupy do serwera OpenLDAP. Można to zrobić za pomocą narzędzia ldapadd
lub graficznego interfejsu, np. phpldapadmin
.
Przykład dodawania użytkownika:
ldapadd -x -D "cn=admin,dc=example,dc=com" -w "secret" -f user.ldif
Plik user.ldif
zawiera definicję użytkownika, np.:
dn: uid=user1,dc=example,dc=com
objectClass: top
objectClass: posixAccount
objectClass: inetOrgPerson
cn: User1
uid: user1
gidNumber: 100
homeDirectory: /home/user1
userPassword: {SSHA}hashed_password
- Konfiguracja klienta SSH
Należy skonfigurować klienta SSH do korzystania z serwera OpenLDAP. W pliku ~/.ssh/config
należy dodać następujące opcje:
Host *
UsePAM no
AuthenticationMethods publickey
AuthorizedKeysFile .ssh/authorized_keys
PubkeyAcceptedKeyTypes ssh-rsa
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPITrustDns yes
GSSAPIKeyExchange no
- Użytkowanie scentralizowanego uwierzytelniania SSH
Użytkownicy mogą teraz logować się do serwerów SSH za pomocą swoich kluczy SSH.
Przykład
Użytkownik user1
chce zalogować się do serwera ssh.example.com
. Użytkownik posiada klucz SSH ~/.ssh/id_rsa
.
- Użytkownik wykonuje polecenie:
ssh user1@ssh.example.com
-
Klient SSH wysyła zapytanie do serwera OpenLDAP o uwierzytelnienie użytkownika
user1
. -
Serwer OpenLDAP sprawdza poprawność hasła użytkownika
user1
. -
Jeśli hasło jest poprawne, serwer OpenLDAP wysyła do klienta SSH informacje o użytkowniku
user1
. -
Klient SSH sprawdza, czy użytkownik
user1
posiada klucz SSH~/.ssh/id_rsa
. -
Jeśli użytkownik
user1
posiada klucz SSH~/.ssh/id_rsa
, klient SSH loguje użytkownika do serwerassh.example.com
.
Wskazówki
- Upewnij się, że serwer OpenLDAP jest bezpiecznie skonfigurowany.
- Używaj silnych haseł dla użytkowników OpenLDAP.
- Używaj kluczy SSH do uwierzytelniania użytkowników.
- Monitoruj logi serwera SSH i OpenLDAP w celu wykrycia podejrzanych działań.
Podsumowanie
Scentralizowane uwierzytelnianie SSH to wygodne i bezpieczne rozwiązanie do zarządzania dostępem do serwerów SSH. Ten poradnik zawiera podstawowe informacje na temat konfiguracji scentralizowanego uwierzytelniania SSH z wykorzystaniem serwera OpenLDAP.