我正在尝试使用制作密钥表ktutil
。我可以选择加密类型,但是ktutil
手册页没有列出可能的选择。我也不知道哪种加密方法是最好的!如何找到这两个?我想要最强大的加密。
$ ktutil
> add_entry -password -p me@DOMAIN.COM -k 1 -e [what goes here?!]
我正在尝试使用制作密钥表ktutil
。我可以选择加密类型,但是ktutil
手册页没有列出可能的选择。我也不知道哪种加密方法是最好的!如何找到这两个?我想要最强大的加密。
$ ktutil
> add_entry -password -p me@DOMAIN.COM -k 1 -e [what goes here?!]
Answers:
如果您尝试为服务创建密钥表,则由84104提供的ktutil解决方案是正确的。您想将密钥表用于某些自动化过程,这是一个糟糕的主意,因为它将使密码随机化,并使没有密钥表的帐户无法使用。
如果您使用keytab作为密码存储来馈送给kinit来使进程自动化,那么我建议您使用使用密码运行kinit时获得的任何enctype。
klist -e
会列出一堆东西,您想要的行就是这个。使用ktutil中列出的etype。
Etype (skey, tkt): aes256-cts-hmac-sha1-96, aes256-cts-hmac-sha1-96
请注意,对ktutil的使用与将密码存储在明文文件中完全相同,任何可以读取密钥表的人都可以向系统冒充您的身份。这些命令也是MIT版本,heimdal ktutil和klist有所不同(Heimdal是最新OS X版本上使用的kerberos版本)。
ktutil
除非您尝试从现有的密钥表制作密钥表,否则不要使用。使用kadmin
代替。
# kadmin -p user/admin
Password for user/admin@EXAMPLE.COM:
kadmin: add_principal -randkey service/server.example.com
WARNING: no policy specified for service/server.example.com@EXAMPLE.COM; defaulting to no policy
Principal "service/server.example.com@EXAMPLE.COM" created.
kadmin: ktadd -k /etc/service/service.keytab service/server.example.com
Entry for principal service/server.example.com with kvno 2, encryption type aes256-cts-hmac-sha1-96 added to keytab
Entry for principal service/server.example.com with kvno 2, encryption type camellia256-cts-cmac added to keytab
kadmin: quit
根据您的kdc,kdc.conf
最终可能会得到不同的加密:盐类型。默认列表为:
aes256-cts-hmac-sha1-96:normal
aes128-cts-hmac-sha1-96:normal
des3-cbc-sha1:normal
arc‐four-hmac-md5:normal
您还可以通过使用-e
并指定所需的类型来限制(或扩展)密钥表中使用的编码类型。
如果您尝试从现有的密钥表制作密钥表:
# kutil
ktutil: read_kt /etc/krb5.keytab
ktutil: l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 6 host/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
2 6 host/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
3 3 HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
4 3 HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: delete_entry 1
ktutil: l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 6 host/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
2 3 HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
3 3 HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: delete_entry 1
ktutil: l -e
slot KVNO Principal
---- ---- ---------------------------------------------------------------------
1 3 HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
2 3 HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)
ktutil: write_kt /etc/httpd/http.keytab
ktutil: quit
# klist -ke /etc/httpd/http.keytab
Keytab name: FILE:/etc/httpd/http.keytab
KVNO Principal
---- ---------------------------------------------------------------------
3 HTTP/server.example.com@EXAMPLE.COM (aes256-cts-hmac-sha1-96)
3 HTTP/server.example.com@EXAMPLE.COM (camellia256-cts-cmac)