Kerberos 是一种网络认证协议,通过使用密钥加密技术为客户端/服务器应用程序提供强身份验证。下面是在 Linux 环境下配置和使用 Kerberos 认证的完整指南。
primary/instance@REALM# Debian/Ubuntu
sudo apt-get install krb5-kdc krb5-admin-server
# RHEL/CentOS
sudo yum install krb5-server krb5-libs krb5-workstation
# Debian/Ubuntu
sudo apt-get install krb5-user libpam-krb5 libkrb5-dev
# RHEL/CentOS
sudo yum install krb5-workstation pam_krb5
sudo kdb5_util create -s
/etc/krb5.conf:[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
EXAMPLE.COM = {
kdc = kdc.example.com
admin_server = kdc.example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
/etc/krb5kdc/kadm5.acl:*/admin@EXAMPLE.COM *
sudo systemctl start krb5-kdc krb5-admin-server
sudo systemctl enable krb5-kdc krb5-admin-server
sudo kadmin.local
addprinc admin/admin
kadmin -p admin/admin
addprinc username
addprinc -randkey host/server.example.com
ktadd -k /etc/krb5.keytab host/server.example.com
kinit username
klist
kdestroy
/etc/ssh/sshd_config:GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
sudo systemctl restart sshd
ssh -o GSSAPIAuthentication=yes server.example.com
telnet kdc.example.com 88
klist -k /etc/krb5.keytab
krb5-config --version
KRB5_TRACE=/dev/stdout kinit username
kadmin.local
addprinc -requires_preauth krbtgt/OTHERREALM.COM@EXAMPLE.COM
kinit -R
kinit -kt /path/to/keytab principal
通过以上步骤,您可以在 Linux 环境中成功配置和使用 Kerberos 认证系统。Kerberos 提供了强大的安全认证机制,特别适合企业级环境使用。