Kerberos + LDAP + NFSv4实现单点登录(上)
Kerberos:身份认证
LDAP:目录信息服务
NFSv4:网络共享
实验环境:debian 9
三台主机:
nfs服务器:192.168.1.103
nfs客户机:是192.168.1.102即SSSD客户端+ nfs客户端
kdc服务器:192.168.1.101即Kerberos + LDAP
以下
<代码> root@debian: ~ # 表示以根根用户运行命令代码>
一。安装国家结核控制规划时间同步
要使用Kerberos提供身份认证,各主机需时间同步
在一台主机上安装时间同步服务器
<代码> root@debian: ~ # apt-get安装国家结核控制规划代码>
在其它主机上安装时间同步客户端
<代码> root@debian: ~ # apt-get安装ntpdate 代码>
二。配置本地域
假定域是ctp.net
安装Kerberos, LDAP过程都会用到域,NFSv4认证需要到域
以上三台主机的主机/etc/文件内容都配置如下:
127.0.0.1 localhost
127.0.1.1 debian.ctp.net debian
192.168.1.103 srvnf.ctp.net srvnf
是192.168.1.102 clnf.ctp.net clnf
注意:127.0.1.1一定要xxx.ctp.net的格式,以确定域ctp.net
<代码> root@debian: ~ #主机名- d ctp.net 代码>
或
<代码> root@debian: ~ # dnsdomainname ctp.net 代码>
三.kdc服务器的安装
安装Kerberos和LDAP、Kerberos和LDAP在同一主机上
1。安装LDAP
<代码> root@debian: ~ # apt-get安装slapd ldap-utils 代码>
slapd: OpenLDAP服务器
ldap-utils: ldap命令工具
安装过程中仅要求设置密码,该密码是ldap数据库管理员密码。设置LDAP的域默认是由主机名- d获得(即ctp.net)
安装过程预先添加了四个模式
core.ldif
cosine.ldif
nis.ldif
inetorgperson.ldif
安装过程初始化了配置数据库(cn=配置)和ldap数据库(dc=ctp, dc=净)
1)配置ssl
因SSSD客户端要求ssl连接,所以需配置LDAP启用ssl
为了简便,建立免短语密码永不过期证书
使用gnutls-bin工具建证书
<代码> root@debian: ~ # apt-get安装gnutls-bin 代码>
1.1)建根证书
<代码> root@debian: ~ # certtool——generate-privkey比;cakey.pem 生成一个3072位的RSA私钥…代码>
新建文件ca.info并编辑
<代码> root@debian: ~ #猫ca.info ca cert_signing_key expiration_days=1 root@debian: ~ # 代码>
说明:1表示永不过期
进行自签名
<代码> root@debian: ~ # certtool——generate-self-signed load-privkey凝固了的。pem——模板ca.info外部档案cacert.pem 生成自签署证书…… (略)… 签名证书…… root@debian: ~ # 代码>
1.2)建服务器证书
为了简便,证书都不设置机器名
生成私钥
<代码> root@debian: ~ # certtool——generate-privkey比;fgkey.pem 生成一个3072位的RSA私钥…代码>
新建文件srv.info并编辑
<代码> root@debian: ~ #猫srv.info tls_www_server encryption_key signing_key expiration_days=1 root@debian: ~ # 代码>
签发服务器证书
<代码> root@debian: ~ # certtool——生成证书load-privkey fgkey。pem - load-ca-certificate cacert。pem - load-ca-privkey凝固了的。pem——模板srv.info外部档案fgcert.pem 生成一个签署证书…… … 签名证书…… root@debian: ~ # 代码>
新建存放私钥的目录
<代码> root@debian: ~ # mkdir/etc/ldap/ssl/private 代码>
复制私钥,证书
<代码> root@debian: ~ # cp fgcert。pem/etc/ldap/ssl/root@debian: ~ # cp fgkey。pem/etc/ldap/ssl/private/代码>
设置私钥属性为仅openldap用户拥有可读(因debian的openldap是以openldap用户运行)
<代码> root@debian: ~ #乔恩openldap/etc/ldap/ssl/private/fgkey.pem root@debian: ~ # ls - l/etc/ldap/ssl/private/fgkey.pem -rw-r - r - 1 openldap根8289年10月19日13:44/etc/ldap/ssl/private/fgkey.pem root@debian: ~ # root@debian: ~ # chmod或者/etc/ldap/ssl/private/fgkey.pem root@debian: ~ # ls - l/etc/ldap/ssl/private/fgkey.pem openldap根-rw-r——8289 10月19日13:44/etc/ldap/ssl/private/fgkey.pem 代码>
1.3)配置openldap启用ssl
新建文件ssl.ldif并编辑
<代码> root@debian: ~ #猫ssl.ldif dn: cn=配置 changetype:修改 添加:olcTLSCertificateFile olcTLSCertificateFile:/etc/ldap/ssl/fgcert.pem - 添加:olcTLSCertificateKeyFile olcTLSCertificateKeyFile:/etc/ldap/ssl/private/fgkey.pem root@debian: ~ #Kerberos + LDAP + NFSv4实现单点登录(上)