Wiele samouczków mówi, aby skonfigurować serwer ssh w następujący sposób:
ChallengeResponseAuthentication no
PasswordAuthentication no
UsePAM no
ale przy tej konfiguracji nie można używać PAM, ponieważ planuję używać uwierzytelniania 2-czynnikowego z Google Authenticator (hasło jednorazowe OTP), potrzebuję PAM.
Jak skonfigurować świeżego debiana jessie ssh deamon, jeśli chcę zapobiec logowaniu przy użyciu normalnego hasła, ale nadal pozwalać na korzystanie z PAM.
może dokładnym pytaniem jest, jak skonfigurować pam, aby nie zezwalać na hasła?
Szczegółowe informacje na temat uwierzytelniania PAM
Wyłączenie uwierzytelniania za pomocą hasła PAM jest raczej nieintuicyjne. Jest potrzebny w prawie wszystkich dystrybucjach GNU / Linux (z godnym uwagi wyjątkiem Slackware), wraz z FreeBSD. Jeśli nie jesteś ostrożny, możesz ustawić opcję PasswordAuthentication na „no” i nadal logować się za pomocą hasła za pomocą uwierzytelniania PAM. Okazuje się, że musisz ustawić „ChallengeResponseAuthentication” na „no”, aby naprawdę wyłączyć uwierzytelnianie PAM. Strony podręcznika FreeBSD mają to do powiedzenia, co może pomóc nieco wyjaśnić sytuację:
Zauważ, że jeśli ChallengeResponseAuthentication ma wartość „tak”, a zasady uwierzytelniania PAM dla sshd obejmują pam_unix (8), uwierzytelnianie za pomocą hasła będzie możliwe poprzez mechanizm wyzwanie-odpowiedź niezależnie od wartości PasswordAuthentication.
http://www.unixlore.net/articles/five-minutes-to-more-secure-ssh.html
ChallengeResponseAuthentication
powoduje uszkodzenie interaktywnej metody uwierzytelniania za pomocą klawiatury, która jest wymagana w przypadku modułów uwierzytelniania PAM obsługujących OTP. (pożądane przez OP) Wyłączenie CRA jest bezpieczne tylko wtedy, gdy naprawdę masz zero modułów PAM naauth
stosie, które muszą wystrzelić. JeśliPasswordAuthentication
iGSSAPIAuthentication
są wyłączone, hasło nie zostanie zaakceptowane, chyba że PAM ma włączony moduł autoryzacji, który o to poprosi.aby odrzucić żądanie hasła
skomentuj ten wiersz
w /etc/pam.d/sshd
i pamiętaj, aby nie mieć nullok na końcu tego wiersza, chyba że będzie można uwierzytelnić się przez ssh bez użycia OTP
źródło