快速搭建 Kerberos 环境

2024-04-25 18:32
文章标签 快速 搭建 环境 kerberos

本文主要是介绍快速搭建 Kerberos 环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

快速搭建 Kerberos 环境

    • 1. 安装kerberos
    • 2. 修改配置文件
      • 2.1 edit krb5.conf
      • 2.2 edit kdc.conf
    • 3. create principle database
    • 4. add administrator to the acl file. kadm5.acl
    • 5. add administrator to database
    • 6. start service
    • 6. the log file
    • 7. validation
      • kinit
      • klist
  • 参考

1. 安装kerberos

yum -y install krb5-server krb5-lib krb5-workstation

2. 修改配置文件

Modify the configuration files, krb5.conf and kdc.conf
krb5.con location : /etc/krb5.conf
kdc.conf location : /var/kerberos/krb5kdc/kdc.conf
注意realm的大小写!

2.1 edit krb5.conf

[logging]                                                                                                                                                       default = FILE:/var/log/krb5libs.log                                                                                                                           kdc = FILE:/var/log/krb5kdc.log                                                                                                                                admin_server = FILE:/var/log/kadmind.log                                                                                                                       [libdefaults]                                                                                                                                                   dns_lookup_realm = false                                                                                                                                       ticket_lifetime = 24h                                                                                                                                          renew_lifetime = 7d                                                                                                                                            forwardable = true                                                                                                                                             rdns = false                                                                                                                                                   default_realm = SFTP.ATANG.COM                                                                                                                                   default_ccache_name = KEYRING:persistent:%{uid}                                                                                                                [realms]                                                                                                                                                        SFTP.ATANG.COM = {                                                                                                                                                kdc = sftp.atang.com                                                                                                                                             admin_server = sftp.atang.com                                                                                                                                    }                                                                                                                                                              [domain_realm]                                                                                                                                                  
# .example.com = EXAMPLE.COM                                                                                                                                    
# example.com = EXAMPLE.COM                                                                                                                                                                                                                                                                                             

2.2 edit kdc.conf

[kdcdefaults]                                                                                                                                                   kdc_ports = 88                                                                                                                                                 kdc_tcp_ports = 88                                                                                                                                             [realms]                                                                                                                                                        SFTP.ATANG.COM = {                                                                                                                                                #master_key_type = aes256-cts                                                                                                                                 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 camellia256-cts:normal camellia128-cts:normal des-hmac-sha1
:normal des-cbc-md5:normal des-cbc-crc:normal                                                                                                                   }   

3. create principle database

sh-4.2# kdb5_util create -r SFTP.ATANG.COM -s                                                                                                                      
Loading random data                                                                                                                                             
Initializing database '/var/kerberos/krb5kdc/principal' for realm 'SFTP.ATANG.COM',                                                                                
master key name 'K/M@SFTP.ATANG.COM'                                                                                                                               
You will be prompted for the database Master Password.                                                                                                          
It is important that you NOT FORGET this password.                                                                                                              
Enter KDC database master key:                                                                                                                                  
Re-enter KDC database master key to verify:  

This command create files below

-rw------- 1 root root 8192 Apr  1 14:26 principal                                                                                                              
-rw------- 1 root root 8192 Apr  1 14:26 principal.kadm5                                                                                                        
-rw------- 1 root root    0 Apr  1 14:26 principal.kadm5.lock                                                                                                   
-rw------- 1 root root    0 Apr  1 14:26 principal.ok 

Kerberos database files: principal, principal.ok
Kerberos administrative database file: principal.kadm5
administrative database lock file: principal.kadm5.lock

4. add administrator to the acl file. kadm5.acl

*/admin@EXAMPLE.COM     *                                                                                                                                                                                                                                                                                 
admin@SFTP.ATANG.COM   

5. add administrator to database

sh-4.2# kadmin.local                                                                                                                                            
Authenticating as principal root/admin@SFTP.ATANG.COM with password.                                                                                               
kadmin.local:  addprinc admin/admin@SFTP.ATANG.COM                                                                                                                 
WARNING: no policy specified for admin/admin@SFTP.ATANG.COM; defaulting to no policy                                                                               
Enter password for principal "admin/admin@SFTP.ATANG.COM":                                                                                                         
Re-enter password for principal "admin/admin@SFTP.ATANG.COM":                                                                                                      
Principal "admin/admin@SFTP.ATANG.COM" created.                                                                                                                    

6. start service

At this point, you are ready to start the Kerberos KDC (krb5kdc) and administrative daemons on the Master KDC. To do so, type:

# krb5kdc
# kadmind

6. the log file

sh-4.2# tail /var/log/krb5kdc.log                                                                                                                               
otp: Loaded                                                                                                                                                     
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99744](info): setting up network...                                                                           
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99744](info): listening on fd 9: udp 0.0.0.0.88 (pktinfo)                                                     
krb5kdc: setsockopt(10,IPV6_V6ONLY,1) worked                                                                                                                    
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99744](info): listening on fd 10: udp ::.88 (pktinfo)                                                         
krb5kdc: setsockopt(11,IPV6_V6ONLY,1) worked                                                                                                                    
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99744](info): listening on fd 12: tcp 0.0.0.0.88                                                              
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99744](info): listening on fd 11: tcp ::.88                                                                   
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99744](info): set up 4 sockets                                                                                
Apr 01 15:04:30 sftp-server-test-52005ac9 krb5kdc[99745](info): commencing operation                                                                            
sh-4.2#                                       
sh-4.2# tail /var/log/kadmind.log                                                                                                                               
kadmind: setsockopt(11,IPV6_V6ONLY,1) worked                                                                                                                    
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99746](info): listening on fd 12: tcp 0.0.0.0.464                                                             
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99746](info): listening on fd 11: tcp ::.464                                                                  
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99746](info): listening on fd 13: rpc 0.0.0.0.749                                                             
kadmind: setsockopt(14,IPV6_V6ONLY,1) worked                                                                                                                    
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99746](info): listening on fd 14: rpc ::.749                                                                  
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99746](info): set up 6 sockets                                                                                
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99746](Error): /var/kerberos/krb5kdc/kadm5.acl: syntax error at line 2 <admin@SFTP.ATANG.COM...>                 
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99748](info): Seeding random number generator                                                                 
Apr 01 15:04:34 sftp-server-test-52005ac9 kadmind[99748](info): starting

7. validation

kinit

sh-4.2# kinit admin/admin@SFTP.ATANG.COM                                                                                                                           
kinit: Cannot contact any KDC for realm 'SFTP.ATANG.COM' while getting initial credentials 

如果报上述错误,需要修改host文件,添加如下配置信息

127.0.0.1 sftp.atang.com
sh-4.2# kinit admin/admin@SFTP.ATANG.COM                                                                                                                           
Password for admin/admin@SFTP.ATANG.COM: 

klist

MAC下kerberos客户端安装

(base) ZBMAC-9b3ab3c69:~ atang$ brew install krb5

将server的配置文件krb5.conf拷贝到本地 /etc/krb5.conf

(base) ZBMAC-9b3ab3c69:~ atang$ klist
Ticket cache: KCM:74F69F75-9ABC-4030-8328-AFA167CF135E
Default principal: atang@atang.localValid starting       Expires              Service principal
02  4 2021 09:47:58  02  4 2021 19:47:58  krbtgt/atang.local@atang.localrenew until 09  4 2021 09:47:58
(base) ZBMAC-9b3ab3c69:~ atang$ klist
Ticket cache: KCM:74F69F75-9ABC-4030-8328-AFA167CF135E
Default principal: atang@atang.localValid starting       Expires              Service principal
02  4 2021 09:47:58  02  4 2021 19:47:58  krbtgt/atang.local@atang.localrenew until 09  4 2021 09:47:58
(base) ZBMAC-9b3ab3c69:~ atang$ 
(base) ZBMAC-9b3ab3c69:~ atang$ kinit admin/admin
Password for admin/admin@SFTP.ATANG.COM: 
(base) ZBMAC-9b3ab3c69:~ atang$ klist
Ticket cache: KCM:673152771:1
Default principal: admin/admin@SFTP.ATANG.COMValid starting       Expires              Service principal
02  4 2021 11:00:21  03  4 2021 11:00:21  krbtgt/sftp.atang.com@SFTP.ATANG.COM
(base) ZBMAC-9b3ab3c69:~ atang$ 

参考

LDAP概念和原理介绍
Kerberos认证原理简介
Skipping Kerberos authentication prompts with JSch [duplicate]
Replacing NIS with Kerberos and LDAP HOWTO
快速搭建Kerberos服务端及入门使用

这篇关于快速搭建 Kerberos 环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/935460

相关文章

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

java如何通过Kerberos认证方式连接hive

《java如何通过Kerberos认证方式连接hive》该文主要介绍了如何在数据源管理功能中适配不同数据源(如MySQL、PostgreSQL和Hive),特别是如何在SpringBoot3框架下通过... 目录Java实现Kerberos认证主要方法依赖示例续期连接hive遇到的问题分析解决方式扩展思考总

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

在Mysql环境下对数据进行增删改查的操作方法

《在Mysql环境下对数据进行增删改查的操作方法》本文介绍了在MySQL环境下对数据进行增删改查的基本操作,包括插入数据、修改数据、删除数据、数据查询(基本查询、连接查询、聚合函数查询、子查询)等,并... 目录一、插入数据:二、修改数据:三、删除数据:1、delete from 表名;2、truncate

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

VScode连接远程Linux服务器环境配置图文教程

《VScode连接远程Linux服务器环境配置图文教程》:本文主要介绍如何安装和配置VSCode,包括安装步骤、环境配置(如汉化包、远程SSH连接)、语言包安装(如C/C++插件)等,文中给出了详... 目录一、安装vscode二、环境配置1.中文汉化包2.安装remote-ssh,用于远程连接2.1安装2

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

shell脚本快速检查192.168.1网段ip是否在用的方法

《shell脚本快速检查192.168.1网段ip是否在用的方法》该Shell脚本通过并发ping命令检查192.168.1网段中哪些IP地址正在使用,脚本定义了网络段、超时时间和并行扫描数量,并使用... 目录脚本:检查 192.168.1 网段 IP 是否在用脚本说明使用方法示例输出优化建议总结检查 1