快速搭建 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实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

C++快速排序超详细讲解

《C++快速排序超详细讲解》快速排序是一种高效的排序算法,通过分治法将数组划分为两部分,递归排序,直到整个数组有序,通过代码解析和示例,详细解释了快速排序的工作原理和实现过程,需要的朋友可以参考下... 目录一、快速排序原理二、快速排序标准代码三、代码解析四、使用while循环的快速排序1.代码代码1.由快

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

Win32下C++实现快速获取硬盘分区信息

《Win32下C++实现快速获取硬盘分区信息》这篇文章主要为大家详细介绍了Win32下C++如何实现快速获取硬盘分区信息,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实现代码CDiskDriveUtils.h#pragma once #include <wtypesbase

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my