在Debian系統上搭建Kerberos認證伺服器
我要列出在Raspberry Pi 3 B+上安装MIT Kerberos认证服务器的步骤。
安装
sudo apt install krb5-admin-server krb5-kdc
设定
KDC服务器
[kdcdefaults]
kdc_ports = 750,88
[realms]
${realm domain} = {
admin_keytab = FILE:/etc/krb5kdc/kadm5.keytab
key_stash_file = /etc/krb5kdc/stash
acl_file = /etc/krb5kdc/kadm5.acl
max_life = 10h 0m 0s
max_renewable_life = 7d 0h 0m 0s
default_principal_flags = +preauth
}
root/admin@* * */*@*1
KDC客户端
[libdefaults]
default_realm = ${default domain}
[realms]
${realm domain} = {
kdc = ${kdc domain} # なくても良い
admin_server = ${kadmin domain}
database_module = openldap_ldapconf
default_domain = ${domain}
}
[domain_realm]
{domain} = {realm domain}
启动服务器
sudo systemctl start krb5-admin-server
sudo systemctl start krb5-kdc
操作认证服务器
添加主管
sudo kadmin.local [-r ${realm}]
运行此命令时,会启动用于身份验证服务器管理的交互式程序。使用此程序可以创建用于远程管理的principal。
addprinc root/admin[@${realm}]
添加用户principal
addprinc ${user}[@${realm}]
由于需要设置密码,请设置一个任意的密码。
增加服务负责人
在提供服务的服务器上,
sudo kadmin -p root/admin [-r ${realm}]
执行并启动用于认证服务器管理的交互式程序。
addprinc -randkey ${type}/${FQDN}[@${realm}]
ktadd ${type}/${FQDN}[@${realm}]
如果不使用randkey选项,则按照常规设置密码。如果使用了randkey选项,则会随机生成密钥,因此不需要设置密码。因此,无法使用密码进行认证,而是使用ktadd在服务器上添加的keytab中的密钥信息进行认证。
当使用ktadd命令将密钥添加到keytab时,将创建新的密钥。因此,旧密钥将无法使用,因此无法使用keytab进行单点登录认证。
使用Kerberos对SSH进行身份验证
请查阅过去的文章。通过使用Kerberos认证,可以实现单点登录。