Настройка ssh авторизации через Radius сервер

Thank you for reading this post, don't forget to subscribe!

В инфра­струк­ту­ре с боль­шим коли­че­ством сер­ве­ром Linux, для управ­ле­ния сер­ве­ра­ми удоб­нее исполь­зо­вать цен­тра­ли­зо­ван­ные меха­низ­мы аутен­ти­фи­ка­ции. Рас­смот­рим при­мер цен­тра­ли­зо­ван­ной аутен­ти­фи­ка­ции при под­клю­че­нии к сер­ве­рам по про­то­ко­лу ssh с помо­щью сер­ве­ра Radius.

В каче­стве Radius сер­ве­ра исполь­зо­вать будем уже настро­ен­ный open-source Freeradius сер­вер с адре­сом 10.45.91.210. Настрой­ку ssh будем про­из­во­дить на CentOs7

Ста­вим необ­хо­ди­мые зависимости

sudo yum install gcc wget pam pam-devel

Соби­ра­ем pam модуль для авто­ри­за­ции через radius

Исход­ни­ки pam моду­ля мож­но взять по адре­су ftp://ftp.freeradius.org/pub/radius/

cd /usr/src

wget ftp://ftp.freeradius.org/pub/radius/pam_radius-1.4.0.tar.gz

Рас­па­ко­вы­ва­ем ска­чен­ный пакет

tar xzf pam_radius-1.4.0.tar.gz

И про­из­во­дим сборку

cd pam_radius-1.4.0
sudo ./configure
sudo make

Копи­ру­ем собран­ную биб­лио­те­ку в дирек­то­рию /lib64/security

sudo cp pam_radius_auth.so /lib64/security/

Созда­ем файл настро­ек для под­клю­че­ния к radius серверу

sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server

Про­пи­сы­ва­ем в нем настройки

cat /etc/raddb/pam_radius_auth.conf

Редак­ти­ру­ем файл /etc/pam.d/sshd, добав­ля­ем "auth sufficient pam_radius_auth.so" перед стро­кой с "password-auth"

cat /etc/pam.d/sshd

Добав­ля­ем поль­зо­ва­те­ля, кото­рый есть на radius сервере:

sudo useradd radius

Пере­за­пус­ка­ем демон sshd

sudo systemctl restart sshd

Про­бу­ем зало­ги­нить­ся по ssh

ssh radius@localhost
id