一、基本环境 Jumpserver : Master1 192.168.20.128 Mysql 主 FQDN:Master1.jumpserver.org Centos6.5 x86 Master2 192.168.20.129 Mysql 从 FQDN:Master2.jumpserver.org Centos6.5 x86 注:Master1和Master2 相关配置在 http://bbs.jumpserver.org/read/111.html Client: Debian: 192.168.20.131 Client双主 FQDN:debian.jumpserver.org debian 8.1.0 64位 Debian: 图片:20151125174656.jpg
二、安装
2.1 安装所需的软件包
apt-get install libpam-ldap libnss-ldap sudo-ldap nscd
2.2配置LDAP
2.2.1 图片:1.png
2.2.1 图片:2.png
2.2.3 图片:3.png
2.2.4 图片:4.png
注:可通过dpkg-reconfigure libnss-ldap重新配置
2.3 重新配置 : (如果2.2.1-2.2.4 配置无错误 以下就忽略) 2.3.1 执行 dpkg-reconfigure libnss-ldap (配置过程同样出现2.2.1-2.2.3,这里就不上图了)
图片:5.png
图片:6.png
图片:7.png
图片:8.png
三、服务器端证书通过scp至客户端:
mkdir -p /etc/openldap/cacerts/
cd /etc/openldap/cacerts/
scp 192.168.20.128:/etc/openldap/cacerts/cacert.pem /etc/openldap/cacerts/cacert.pem 注:如果你的Jumpserver的OpenLDAP 没有使用 SSL/TLS 加密数据通信 ,也就是使用389端口,请忽略这一步。
四、修改配置文件
root@Debian:~# cat /etc/pam.d/common-auth | grep -v ^# | grep -v ^$
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_ldap.so use_first_pass
auth requisite pam_deny.so
auth required pam_permit.so
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
common-auth 追加后,登录要求输入LDAP Password ,想取消LDAP Password 就不追加。
图片:1.png
root@Debian:~# cat /etc/pam.d/common-account| grep -v ^# | grep -v ^$
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so
account [success=1 default=ignore] pam_ldap.so
account requisite pam_deny.so
account required pam_permit.so
account sufficient pam_ldap.so
account required pam_unix.so
root@Debian:~# cat /etc/pam.d/common-password | grep -v ^# | grep -v ^$
password [success=2 default=ignore] pam_unix.so obscure sha512
password [success=1 user_unknown=ignore default=die] pam_ldap.so use_authtok try_first_pass
password requisite pam_deny.so
password required pam_permit.so
password optional pam_ecryptfs.so
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5
root@Debian:~# cat /etc/pam.d/common-session | grep -v ^# | grep -v ^$
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session optional pam_umask.so
session optional pam_systemd.so
session optional pam_ecryptfs.so unwrap
session required pam_unix.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
session optional pam_ldap.so
注:红色部分是追加的
root@Debian:~# cat /etc/nsswitch.conf | grep -v ^# | grep -v ^$
passwd: files ldap
group: files ldap
shadow: files ldap
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
sudoers: files ldap
root@Debian:~# cat /etc/ldap/ldap.conf | grep -v ^# | grep -v ^$
BASE dc=jumpserver,dc=org
URI ldaps://Master1.jumpserver.org/ ldaps://Master2.jumpserver.org/
TIMELIMIT 2
TLS_CACERT /etc/openldap/cacerts/cacert.pem
Sudoers_base ou=Sudoers,dc=jumpserver,dc=org
注:客户端的sudo版本会影响 ldap配置文件的位置,通过sudo -V | grep ldap查看,最后显示
ldap.conf path:/etc/ldap/ldap.conf 这个来决定
sudo内容(Sudoers_base ou=Sudoers,dc=jumpserver,dc=org ) 在哪个文件上配置的。
root@Debian:~# cat /etc/libnss-ldap.conf | grep -v ^# | grep -v ^$
base dc=jumpserver,dc=org
uri ldaps://Master1.jumpserver.org/ ldaps://Master2.jumpserver.org/
ldap_version 3
注:如果你的Jumpserver是使用389端口通信,请把uri ldaps://xxx 全部改成uri ldap://xxxx,就是把s去掉。
#重启服务使配置生效
root@Debian:~# /etc/init.d/nscd restart
[ ok ] Restarting nscd (via systemctl): nscd.service.
五、测试
5.1 测试是否已启用LDAP认证
root@Debian:~# getent passwd xiaowang
xiaowang:x:5034:5034:xiaowang:/home/xiaowang:/bin/bash
root@Debian:~# id xiaowang
uid=5034(xiaowang) gid=5034(xiaowang) groups=5034(xiaowang)
root@debian:~#
5.2测试用户登录跳板机再登录后端Client
图片:2.png
|