快速搭建 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

相关文章

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

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Rust中的Option枚举快速入门教程

《Rust中的Option枚举快速入门教程》Rust中的Option枚举用于表示可能不存在的值,提供了多种方法来处理这些值,避免了空指针异常,文章介绍了Option的定义、常见方法、使用场景以及注意事... 目录引言Option介绍Option的常见方法Option使用场景场景一:函数返回可能不存在的值场景

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo