1. 安装kerberos

server

yum install krb5-server krb5-libs krb5-auth-dialog

  

client

yum install krb5-workstation krb5-libs krb5-auth-dialog

 

2. hosts

10.112.29.9 kerberos.jenkin.com kerberos
10.112.29.10 kerberos2.jenkin.com kerberos2
10.112.29.10 kdc.jenkin.com kdc

  

3. 修改配置文件

/etc/krb5.conf

[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log [libdefaults]
default_realm = JENKIN.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true [realms]
JENKIN.COM = {
kdc = kerberos.jenkin.com
kdc = kerberos2.jenkin.com
admin_server = kerberos.jenkin.com
} [domain_realm]
.jenkin.com = JENKIN.COM
jenkin.com = JENKIN.COM

  

/var/kerberos/krb5kdc/kdc.conf

[kdcdefaults]
kdc_ports = 88
kdc_tcp_listen = 88 [realms]
JENKIN.COM = {
master_key_type = aes256-cts
kadmind_port = 749
acl_file = /var/kerberos/krb5kdc/kadm5.acl
dict_file = /usr/share/dict/words
admin_keytab = /var/kerberos/krb5kdc/kadm5.keytab
supported_enctypes = aes256-cts:normal aes128-cts:normal
#des3-hmac-sha1:normal arcfour-hmac:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
}

  

4. 初始化数据库

kdb5_util create -r JENKIN.COM -s

  等待一会,输入设定密码。

5. 添加principal

kadmin.local

addprinc admin/admin@JENKIN.COM

  输入设定密码。

ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/changepw

  

6. 修改acl

vim /var/kerberos/krb5kdc/kadm5.acl

*/admin@JENKIN.COM      *

  

7. 启动krb5kdc, kadmin

service krb5kdc start

service kadmin start

server搭建完成。

slave搭建:

添加principal:

kadmin.local
addprinc -randkey host/kerberos.jenkin.com
addprinc -randkey host/kerberos2.jenkin.com ktadd -k /etc/krb5.keytab host/kerberos.jenkin.com
ktadd -k /etc/krb5.keytab host/kerberos2.jenkin.com

  

将master上的 kdc.conf, .k5.JENKIN.COM, kadm5.acl, /etc/krb5.conf, /etc/krb5.keytab拷贝至slave响应文件夹。

在slave上添加/var/kerberos/krb5kdc/kpropd.acl

host/kerberos.jenkin.com@JENKIN.COM
host/kerberos2.jenkin.com@JENKIN.COM

slave启动:kpropd -S

同步数据至slave db

在master上:

kdb5_util dump /var/kerberos/krb5kdc/slave_data

scp slave_data slave_data.dump_ok kerberos2.jenkin.com:/var/kerberos/krb5kdc/
scp /etc/krb5.keytab kerberos2.jenkin.com:/etc/ kprop -f /var/kerberos/krb5kdc/slave_data kerberos2.jenkin.com

  

成功:提示:Database propagation to kerberos2.jenkin.com: SUCCEEDED

注意:hostname一定要单一。从日志中能看出来。

  

8. 搭建client

将.k5.JENKIN.COM kadm5.acl kdc.conf krb5.conf拷贝至其他机器。如果机器只作为client,不作为 从服务器,则只需要拷贝 krb5.conf即可。从服务器才需要全拷贝下面5个文件。

scp .k5.JENKIN.COM kadm5.acl kdc.conf master2:/var/kerberos/krb5kdc/

scp /etc/krb5.conf master2:/etc/

9. 登陆kadmin

kadmin

数据密码

  

client的kadmin能正常连接则表明搭建成功。  

官网doc:http://web.mit.edu/kerberos/krb5-current/doc/krb_admins/install_kdc.html

日常操作:

添加principal

kadmin.local
addprinc admin/admin

  

其他机器查看:

kinit admin/admin

  

删除、查看、修改:

kamdin:addprinc -randkey root/master1
kamdin:delprinc root/admin
kamdin:listprincs命令
kadmin:change_password -pw admin root/admin
kadmin:modify_principal

  

kerberos master-slave搭建的更多相关文章

  1. MySQL-Cluster 和主从(Master,Slave)搭建总结

    双主互备,主从 什么是双主 MultiSource 多源复制 原理及流程图 主要步骤 1,在 Master Server 上开启 bin log 日志 和 设置 server-id  :(在my.cn ...

  2. Windows下搭建MySQL Master Slave

    一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用keepalived这个HA工具,但是我们可以接受人工进行切 ...

  3. Windows下搭建MySQL Master Slave[转]

    Windows下搭建MySQL Master Slave 一.背景 服务器上放了很多MySQL数据库,为了安全,现在需要做Master/Slave方案,因为操作系统是Window的,所以没有办法使用k ...

  4. hudson slave搭建

     Hudson Slave搭建   使用Hudson搭建分布式的构建环境非常方便,客户端也不需要太多的操作,只要能执行java命令就行. hudson默认采用master方式进行安装,master作为 ...

  5. redis 学习笔记(3)-master/slave(主/从模式)

    类似mysql的master-slave模式一样,redis的master-slave可以提升系统的可用性,master节点写入cache后,会自动同步到slave上. 环境: master node ...

  6. ActiveMQ集群支持Master/Slave模式

    现在ActiveMQ, 在Failover方面有两种解决方案:Pure Master Slave和Shared File System Master Slave.      先看Pure Master ...

  7. Redis master/slave,sentinel,Cluster简单总结

    现在互联网项目中大量使用了redis,本文著主要分析下redis 单点,master/slave,sentinel模式.cluster的一些特点. 一.单节点模式 单节点实例还是比较简单的,平时做个测 ...

  8. 基于Kubernetes构建企业Jenkins master/slave CI/CD平台

    搭建平台目的: k8s中搭建jenkins master/slave架构,解决单jenkins执行效率低,资源不足等问题(jenkins master 调度任务到 slave上,并发执行任务,提升任务 ...

  9. show master/slave status求根溯源

    show master/slave status分别是查看主数据库以及副数据库的状态,是一种能查看主从复制运行情况的方式. 这里仅仅讨论linux下的nysql5.7.13版本的执行情况 一.show ...

  10. MongoDB学习笔记——Master/Slave主从复制

    Master/Slave主从复制 主从复制MongoDB中比较常用的一种方式,如果要实现主从复制至少应该有两个MongoDB实例,一个作为主节点负责客户端请求,另一个作为从节点负责从主节点映射数据,提 ...

随机推荐

  1. codevs 5963 [SDOI2017]树点染色

     [题解]: #include<cstdio> #include<cstring> #include<iostream> using namespace std; ...

  2. ios 对日期的处理(包括计算昨天时间、明天时间)

    NSDate存储的是世界标准时(UTC),输出时需要根据时区转换为本地时间 Dates NSDate类提供了创建date,比较date以及计算两个date之间间隔的功能.Date对象是不可改变的. 如 ...

  3. you *might* want to use the less safe log_bin_trust_function_creators variable

    报错:you *might* want to use the less safe log_bin_trust_function_creators variable 解决方法如下: 1. mysql&g ...

  4. 160408、SpringMVC整合Shiro

    第一步:配置web.xml 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!-- 配置Shiro过滤器,先让Shiro过滤系统接收到的请求 -->  ...

  5. HTML5跨平台开发环境配置

    http://hi.baidu.com/kuntakinte/item/1bbd3759b4901a3695eb050c

  6. linux下安装mysql-5.7.25

    1.下载对应安装包 https://dev.mysql.com/downloads/mysql/ 2.卸载旧版本mysql 列出旧版本MySql的组件列表  rpm -qa | grep mysql ...

  7. 20165330 2017-2018-2 《Java程序设计》第6周学习总结

    课本知识总结 第八章 常用实用类 String类 String对象 构造方法: 使用String类声明对象并创建对象 String s = new String("we are studen ...

  8. Elasticsearch 中文分词(elasticsearch-analysis-ik) 安装

    由于elasticsearch基于lucene,所以天然地就多了许多lucene上的中文分词的支持,比如 IK, Paoding, MMSEG4J等lucene中文分词原理上都能在elasticsea ...

  9. vue项目中批量打印二维码

    前提:项目中要打印的二维码为后台返回,批量选择后,点击打印,先打开二维码预览界面,再执行打印. 以下代码中 codePicList为选中的二维码数组.重点css:page-break-after:al ...

  10. My Neural Network isn't working! What should I do?

    参考文献:http://theorangeduck.com/page/neural-network-not-working 我的网络不起作用!该怎么办? 因此,你在深度学习方面正在开发下一个重大突破, ...