Kerberos


kerberos里面有兩個理念,分別是王國(realm)和領域domain
安裝過程中,kdb5_util create -s 將會等待很長時間。
異常:Cannot contact any KDC for realm
首先是要確包Hosts文件中已經做了realm的相關映射;
然后就是kinit一定是要root/localhost,就是和你當初注冊的時候是一樣的才行。
Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by GSSException: No valid credentials provided (Mechanism level: Failed to find any Kerberos tgt)]一種可能是因為Cache過期,通過sudo klist來查看主體的超時時間;
 
如果想要看keytab文件里面的主體情況可以通過klist -e -k XXX.keytab來查看
-e代表顯示加密類型,一個主體將會有多種加密;-k 代表keytab,后面緊跟着keytab的路徑
 
驗證主體是否可以被keytab包含:
kinit -k -t hdfs.keytab hdfs/ master@HADOOP.COM
-k代表使用keytab,-t代表keytab文件,緊跟着keytab文件路徑,最后一個是主體名稱;
 
Kerberos的用戶名是由三部分組成:hdfs,是用戶名,emr*是指本機的”hostname",@之后則是domain_name,是在/etc/krb5.conf里面配置的內容。
 
Login failure for hadoop/master@HADOOP.COM from keytab /etc/hasec/hadoop.keytab: javax.security.auth.login.LoginException: Unable to obtain password from user
我的這個問題是因為生成的keytab文件的默認權限是root,需要修改為hadoop用戶權限問題解決
 
javax.security.auth.login.LoginException: Checksum failed
可以采用kinit -k -t XXX.keytab user/hostname@YYY.com來對keytab文件進行驗證是否可以通過KDC的校驗。
kerberos但是生成了keytab就會隨機的生成密碼(網調說是添加到krb5.keytab文件),所以admin用戶(addprinc username方式添加)和這種用於交互的用戶(addprinc -randkey username方式添加)一定是要卻分開來;之前我就是hadoop/master@HADOOP.COM用戶既作為管理用戶也作為交流用戶,這是有問題的,一定要區分開來。
修改密碼指令:change_password
 
Unable to obtain password from user
因為.keytab文件是root權限,需要通過chown添加當前用戶的權限。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM