帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 如何将SSH身份验证配置到FreeRADIUS服务器

如何将SSH身份验证配置到FreeRADIUS服务器

发布时间:2019年11月01日 08:27:32    来源: A5互联

如果您的数据中心中有各种管理员用户登录到您的Linux服务器,那么您可能希望更好地控制这些帐户的身份验证。当然,最安全的方法之一是使用SSH密钥身份验证。但是在某些情况下,可能需要为SSH使用中央身份验证服务器。如果是这种情况,您总是可以使用FreeRADIUS(参见:Ubuntu Server 18.04下安装FreeRADIUS和daloRADIUS web管理界面)。

准备工作:

要使此身份验证系统正常工作,您需要满足以下条件:

功能正常的FreeRADIUS服务器

具有sudo特权的用户帐户

用于通过SSH登录服务器的IP地址

出于本教程的目的,我将在Ubuntu Server 18.04上进行演示。我将使用的IP地址是:

192.168.1.216-FreeRADIUS服务器

192.168.1.16-客户端服务器A

如何安装必要的身份验证程序包

首先要做的是在客户端服务器A上安装和配置必要的身份验证软件包。登录到该服务器并发出以下命令:

sudo apt-get install libpam-radius-auth

如何配置客户端服务器

完成此操作后,请为libpam-radius-auth配置必要的信息。发出命令:

sudo nano /etc/pam_radius_auth.conf

在该文件中,查找以下行:

127.0.0.1 secret 1

在该行下面,添加以下内容:

192.168.1.216 PASSWORD 3

确保更改IP地址以使其与FreeRADIUS服务器的IP地址匹配,并将PASSWORD更改为安全的唯一密码。

保存并关闭文件。

使用以下命令设置该文件的权限:

sudo chmod 0600 /etc/pam_radius_auth.conf

接下来,我们必须配置登录要求。为此,发出命令:

sudo nano /etc/pam.d/login

在该文件的顶部附近(在auth可选的pam_faildelay.so条目下),添加以下内容:

auth sufficient pam_radius_auth.so

在同一文件中,找到@include common-auth条目,并在其上方添加以下内容:

/etc/pam.d/sshd

保存并关闭文件。

发出命令:

sudo nano /etc/pam.d/common-auth

修改以下行:

auth [success=1 default=ignore] pam_unix.so nullok_secure

为:

auth [success=1 default=ignore] pam_unix.so nullok_secure try_first_pass

保存并关闭文件。

最后,在客户端服务器A上,添加将使用以下命令通过SSH登录的用户名(无密码):

sudo useradd -m USERNAME

其中USERNAME是要添加的用户的名称。

如何配置FreeRADIUS服务器

现在,您已经完成了客户端的工作,让我们配置服务器。在FreeRADIUS服务器上,发出以下命令:

sudo nano /etc/freeradius/3.0/clients.conf

在“定义半径客户端”部分(顶部附近)中,添加以下内容:

client A {

ipaddr = 192.168.1.16

secret = PASSWORD

}

确保将IP地址更改为客户端服务器的IP地址,并将PASSWORD设置为与客户端服务器上pam_radius_auth.conf文件中使用的密码相同的密码。

保存并关闭文件。

现在,我们添加用户。发出命令:

sudo nano /etc/freeradius/3.0/users

在该文件中,将为需要登录到客户端服务器的每个用户添加一行。(每个用户)要添加的行如下所示:

USERNAME Cleartext-Password := "PASSWORD"

其中USERNAME是客户端服务器上的用户,而PASSWORD是用于SSH登录的密码。

根据需要添加尽可能多的用户条目,记住每个用户必须在客户端服务器上有一个没有密码的帐户。

保存并关闭文件。

使用以下命令重新启动FreeRADIUS:

sudo systemctl restart freeradius

此时,您应该能够使用您在freuis服务器上配置的凭据,从网络上的任何机器上SSH到客户机服务器。