linux ssh配置radius认证
使用pam_radius实现
1、下载及安装Pam_radius
2、修改ssh配置以及ssh服务的pam文件
3、搭建radius服务器
下载及安装Pam_radius
1、安装依赖
sudo yum install gcc pam pam-devel make -y
2、前往freeradius网站下载pam_radius,链接如下
https://freeradius.org/sub_projects/
3、解压及编译
sudo ./configure
sudo make
4、拷贝共享库到security路径
cp pam_radius_auth.so /lib64/security/
修改ssh配置及pam文件
修改ssh配置
sudo vim /etc/ssh/sshd_config
sshd_config文件中的ChallengeResponseAuthentication改为yes
UsePAM改为yes
修改pam配置
sudo vim /etc/pam.d/sshd
sshd文件中加#号注释auth substack password_auth,
第二条加入auth sufficient pam_radius_auth.so
如下所示
auth required pam_sepermit.so
auth sufficient pam_radius_auth.so
#auth substack password_auth
auth include password-auth
增加radius服务器信息
sudo mkdir /etc/raddb
sudo vim /etc/raddb/server
server文件记录了radius服务器信息,ip及密钥,我的配置如下所示,
radius服务器的密钥为WinRadius,服务器ip为192.168.106.1
#server[:port] shared_secret timeout(s)
192.168.106.1 WinRadius 60
修改完后需要重启sshd服务
sudo systemctl restart sshd
配置参考:https://docs.secureauth.com/2104/en/pam-radius-installation-and-configuration-guide.html
radius服务器搭建
使用winradius软件在windows系统上搭建(软件下载链接:https://xiazai.zol.com.cn/detail/48/478452.shtml)
解压后运行WinRadius.exe软件,添加用户并设置相关信息
密钥可在设置的系统中查看,默认为winRadius
测试
在windows上使用mobilexterm创建ssh连接,输入radius服务器上配置的用户名和密码后显示密码或密钥错误,原因待排查
待确认问题
1、winRadius上创建的用户名在linux上没有对应的用户,认证通过后使用哪个用户登入?
2、显示密码或密钥错误的原因,是哪里配置有问题?
3、pam相关的头文件地址位于/usr/include/security/ ,但是如何调用?