Как да защитите SSH с удостоверяване с два фактора на Google Authenticator
Искате да защитите вашия SSH сървър с лесна за използване двуфакторна автентификация? Google предоставя необходимия софтуер, за да интегрира системата за еднократна парола на Google Authenticator (TOTP) с вашия SSH сървър. Когато се свържете, ще трябва да въведете кода от телефона си.
Google Удостоверител не „се обажда“ до Google - цялата работа се случва на вашия SSH сървър и на телефона ви. Всъщност Google Удостоверител е напълно отворен код, така че можете дори да проверите неговия изходен код.
Инсталирайте Google Authenticator
За да приложите многофакторното удостоверяване с Google Authenticator, ще ни трябва модулът PAM на Google Authenticator с отворен код. PAM означава "модул за аутентификация" - това е начин за лесно включване на различни форми на удостоверяване в Linux система.
Софтуерните хранилища на Ubuntu съдържат лесен за инсталиране пакет за PAM модула на Google Authenticator. Ако дистрибуцията ви в Linux не съдържа пакет за това, ще трябва да я изтеглите от страницата за изтегляне на Google Удостоверител в Google Code и да я компилирате сами.
За да инсталирате пакета в Ubuntu, изпълнете следната команда:
sudo apt-get install libpam-google-authenticator
(Това ще инсталира само PAM модула в нашата система - ще трябва да го активираме за SSH регистрация ръчно.)
Създайте ключ за удостоверяване
Влезте като потребител, с който ще влезете дистанционно и ще стартирате Google Удостоверител команда за създаване на секретен ключ за този потребител.
Позволете на командата да актуализира файла на Google Удостоверител, като въведете y. След това ще бъдете подканени с няколко въпроса, които ще ви позволят да ограничите употребата на един и същ временен защитен маркер, да увеличите времевия прозорец, за който могат да се използват токените, и да ограничите разрешения достъп до опити за възпрепятстване на опитите за взлом. Тези избори правят някаква сигурност за някаква лекота на използване.
Google Удостоверител ще ви предостави таен ключ и няколко „кодове за спешно изтриване“. Запишете кодовете за аварийно изтриване някъде на сигурно място - те могат да се използват само веднъж всеки и са предназначени за употреба, ако загубите телефона си.
Въведете секретния ключ в приложението Google Authenticator на телефона си (официалните приложения са налице за Android, iOS и Blackberry). Можете също да използвате функцията за сканиране на баркод - отидете на URL адреса, намиращ се в горната част на изхода на командата и можете да сканирате QR код с камерата на телефона си.
Вече ще имате постоянно променящ се код за потвърждение на телефона си.
Ако искате да влезете дистанционно като множество потребители, изпълнете тази команда за всеки потребител. Всеки потребител ще има свой собствен секретен ключ и собствени кодове.
Активирайте Google Authenticator
След това трябва да изискате Google Удостоверител за SSH влизания. За да направите това, отворете /etc/pam.d/sshd файл във вашата система (например с sudo nano /etc/pam.d/sshd и добавете следния ред към файла:
auth изисква pam_google_authenticator.so
След това отворете / И т.н. / SSH / sshd_config файл, намерете ChallengeResponseAuthentication и я променяйте, както следва:
ChallengeResponseAuthentication да
(Ако ChallengeResponseAuthentication ред вече не съществува, добавете горния ред към файла.)
И накрая, рестартирайте SSH сървъра, така че промените ще влязат в сила:
sudo услуга ssh рестартиране
Ще бъдете подканени да въведете паролата си и кода на Google Удостоверител всеки път, когато се опитате да влезете чрез SSH.