La Двофакторска аутентификација (2ФА) није нешто ексклузивно што се може користити на друштвеним мрежама или на неком другом сајту. Па, ова безбедносна мера се такође може применити у оквиру оперативног система.
То је разлог зашто Данас ћемо видети како имплементирати двофакторску аутентификацију у ССХ у Убунту и деривате користећи добро познати Гоогле Аутхентицатор који ће значајно повећати безбедност вашег ОпенССХ сервера.
Обично је потребно само да унесете лозинку или користите ССХ кључ да бисте се даљински пријавили на систем.
Двофакторска аутентификација (2ФА) захтева да се унесу две информације да бисте се пријавили.
Због тога ћете такође морати да унесете једнократну лозинку засновану на времену да бисте се пријавили на свој ССХ сервер.
Ова једнократна лозинка се израчунава коришћењем ТОТП алгоритма, који је ИЕТФ стандард.
Инсталирање и конфигурисање Гоогле Аутхентицатор-а на Убунту-у и дериватима
Први корак који ћемо предузети је инсталација Гоогле Аутхентицатор-а на наш систем, тако да ћемо отворити терминал у систему (то можете урадити комбинацијом тастера „Цтрл + Алт + Т) и у њега ћемо укуцати следећу команду:
sudo apt install libpam-google-authenticator
Инсталација је већ обављена Покренимо новоинсталирану апликацију са следећом командом:
google-authenticator
Када извршимо ову команду, оно што ћемо урадити је да доделимо тајни кључ и он ће нас питати да ли желимо да користимо токене засноване на времену, на шта ћемо одговорити потврдно.
После овога, Видеће КР код који могу да скенирају користећи ТОТП апликацију на свом телефону.
Овде Препоручујемо да користите апликацију Гоогле Аутхентицатор на свом мобилном телефону.ил, тако да могу да инсталирају апликацију преко Гоогле Плаи или Аппле Апп Сторе-а на свој мобилни телефон.
Када имате апликацију на телефону, морате њоме скенирати КР код. Имајте на уму да морате да увећате прозор терминала да бисте скенирали цео КР код.
КР код представља тајни кључ, који је познат само по свом ССХ серверу и апликацији Гоогле Аутхентицатор.
Када се КР код скенира, они могу да виде јединствени шестоцифрени токен на свом телефону. Подразумевано, овај токен траје 30 секунди и мораће да се унесе да бисте се пријавили на Убунту преко ССХ-а.
У терминалу можете видети и тајни кључ, као и верификациони код и код за хитно покретање.
Стога препоручујемо да ове информације сачувате на безбедном месту за каснију употребу. На остала питања која су нам постављена, једноставно ћемо одговорити потврдно уписивањем слова и.
ССХ подешавање за коришћење са Гоогле Аутхентицатор-ом
С обзиром на наведено, Сада ћемо направити неопходну конфигурацију да бисмо могли да користимо ССХ везу у нашем систему са Гоогле Аутхентицатор-ом.
На терминалу вУкуцајмо следећу команду
sudo nano /etc/ssh/sshd_config
Унутар датотеке Потражићемо следеће редове и променићемо их у „да“, остављајући то на следећи начин:
UsePAM yes ChallengeResponseAuthentication yes
Када су промене направљене, сачувајте промене направљене помоћу Цтрл + О и затворите датотеку помоћу Цтрл + Кс.
У истом терминалу ћемо поново покренути ССХ са:
sudo systemctl restart ssh
Подразумевано, аутентификација захтева да унесете корисничку лозинку да бисте се пријавили.
Тако да Уредимо датотеку ПАМ правила за ССХ демон.
sudo nano /etc/pam.d/sshd
На почетку ове датотеке можете видети следећи ред, који омогућава аутентификацију лозинке
ChallengeResponseAuthentication
Што морамо поставити на да.
Да бисте такође омогућили једнократну аутентификацију лозинком, додајте следећа два реда.
@include common-auth #One-time password authentication via Google Authenticator auth required pam_google_authenticator.so
Сачувајте и затворите датотеку.
Од сада, сваки пут када се пријаве на ваш систем преко ССХ везе, од њих ће се тражити да унесу корисничку лозинку и верификациони код (једнократну лозинку коју генерише Гоогле Аутхентицатор).
Здраво, прилично једноставан водич, међутим, када завршим све кораке, више не могу да се пријавим преко ссх-а, даје ми нетачну грешку у лозинки, не могу чак ни да тражим 2ФА.
Имам Убунту Сервер 20.04