SSH Kerberos.note

noteId: WEBc4a28cd2fbf268ffdf7c99ac56f73394 · 原始路径:/ALL/世赛题目(练习) - 笔记/第48届/08-集训队解题/A/SSH Kerberos.note · 图片:14 · 附件待处理:0

 
 
注意:客户端DNS必须要有 SSH 服务器的 FQDN解析,写hosts也可以
 
1、配置 Kerberos 服务端、SSH 服务端:
 
1)配置 Kerberos:
apt install -y krb5-user krb5-admin-server
自动读取了当前域,直接回车
 
kerberos 服务器的地址,输入 app的地址
 
kdc的地址,输入 app的地址
 
直接OK,并且这里会提示并给出命令让你初始化Kerberos数据库:
 
# 初始化 Kerberos 数据库:
krb5_newrealm
输入两次密码即可
 
 
# 创建Kerberos用户、KDC票据:
kadmin.local
addprinc kuser1    //输入两次密码
## 创建Kerberos票据:
## 写 app机器的fqdn(主机名+域,并且全小写)
addprinc -randkey host/l-hq-app.hq.int
## 导出 票据到 /etc/krb5.keytab
ktadd -k /etc/krb5.keytab host/l-hq-app.hq.int
exit
 
2)sshd 开启 GSS 认证、关闭密码认证:
vim /etc/ssh/sshd_config
 
systemctl restart sshd
 
3)本地创建一个同名的本地用户(否则SSH无法登陆):
adduser kuser1
## 密码无所谓(因为kerberos登陆无需密码,但是最好还是设置为题目中的默认密码)
 
 
2、配置 客户端:
 
客户端不需要有票据存在
1)配置 Kerberos 连接 KDC:
apt install -y krb5-user
改成 HQ.INT,因为自动读取了当前域(BR.INT)
如果写错了可以在 /etc/krb5.conf 中改
 
kerberos 服务器的地址,输入 app的地址
 
kdc的地址,输入 app的地址
 
 
 
2)ssh 使用 GSS 认证:
# ssh 开启 kerberos身份认证:
vim /etc/ssh/ssh_config
 
 
·连接测试:
kinit kuser1
ssh kuser1@l-hq-app.hq.int    //只能使用域名连接
 
可以看到 kinit 之后能够成功获取到票据: