If-Koubou

Как да си осигурите SSH с удостоверяване с две фактори от Google Удостоверител

Как да си осигурите SSH с удостоверяване с две фактори от Google Удостоверител (Как да)

Искате да защитите SSH сървъра си с лесна за използване двуфакторна идентификация? Google осигурява необходимия софтуер за интегриране на системата за временен модул за временен код (TOTP) на Google Authenticator с SSH сървъра. Ще трябва да въведете кода от телефона си, когато се свържете.

Удостоверителят на Google не изпраща "телефон до дома" на Google - цялата работа се случва на SSH сървъра и телефона ви. В действителност, Google Authenticator е напълно с отворен код, така че можете дори да разгледате изходния код сами.

Инсталирайте Google Удостоверител

За да въведем мултифакторно удостоверяване с Google Удостоверител, ще се нуждаем от PAM модула на Google Authenticator с отворен код. PAM означава "pluggable модул за удостоверяване" - това е начин за лесно включване на различни форми на удостоверяване в система Linux.

Софтуерните хранилища на Ubuntu съдържат лесен за инсталиране пакет за PAM модула на Google Authenticator. Ако дистрибуцията ви за Linux не съдържа пакет за това, ще трябва да го изтеглите от страницата за изтегляне на Google Удостоверител в Google Code и да я компилирате сами.

За да инсталирате пакета на Ubuntu, изпълнете следната команда:

sudo apt-get инсталирате libpam-google-authenticator

(Това ще инсталира PAM модула само в нашата система - ще трябва да го активираме ръчно за влизане в SSH).

Създайте ключ за удостоверяване

Влезте като потребител, с когото ще се логнете отдалечено, и стартирайте Google Удостоверител команда за създаване на таен ключ за този потребител.

Разрешете на командата да актуализира файла ви в Google Authenticator, като въведете y. След това ще получите няколко въпроса, които ще ви позволят да ограничите използването на един и същ временни защитен знак, да увеличите прозореца за време, за който могат да бъдат използвани означенията, и да ограничите допустимите опити за достъп, за да възпрепятстват опитите за крекинг на груба сила. Тези решения всички търгуват някои сигурност за някои лекота на използване.

Google Удостоверител ще ви представи секретен ключ и няколко "спешни кода за надраскване". Запишете кодовете за спешни драскотини на сигурно място - те могат да се използват само веднъж и те са предназначени за използване, ако загубите телефона си.

Въведете тайния ключ в приложението Google Удостоверител на телефона си (официални приложения са налице за Android, iOS и Blackberry). Можете също така да използвате функцията за сканиране на баркод - отидете до URL адреса, разположен в горната част на изхода на командата и можете да сканирате QR код с камерата на вашия телефон.

Вече ще имате постоянно променящ се код за потвърждение на телефона си.

Ако искате да влезете отдалечено като няколко потребители, изпълнете тази команда за всеки потребител. Всеки потребител ще има собствен таен ключ и собствени кодове.

Активирайте Google Удостоверител

След това ще трябва да изисквате Google Authenticator за влизане в SSH. За да направите това, отворете /etc/pam.d/sshd файл на вашата система (например, с sudo nano /etc/pam.d/sshd команда) и добавете следния ред към файла:

auth е необходим pam_google_authenticator.so

След това отворете / И т.н. / SSH / sshd_config файл, намерете ChallengeResponseAuthentication линия и я променете така, както следва:

Предизвикателство за удостоверяване yes

(Ако ChallengeResponseAuthentication линията вече не съществува, добавете горния ред към файла.)

И накрая, рестартирайте SSH сървъра, така че вашите промени да влязат в сила:

sudo услуга ssh рестартиране

Ще бъдете подканени както за паролата си, така и за кода на Google Удостоверител, когато опитате да влезете през SSH.