Connection authorization failure occurred. Reason: Local security service non-retryable error解決方案

以上的異常是我在連接DB2的時候出現的,很奇怪,因爲DB2用了這麼長時間從來沒出現過這個問題,單從異常消息來看,很明顯是DB2連接時驗證失敗了,說白了用戶名和密碼的問題,問題是爲什麼會出現這樣的問題,明明用戶名和密碼是正確的。
研究之後發現是系統差異,密碼不可能以明文方式存儲在系統中,都是通過相應的加密算法之後保存的,DB2採用的是SHA256加密,而不少高版本的Linux默認的加密算法已經是SHA512了,這樣系統創建的DB2用戶密碼通過SHA512保存在系統中,連接時DB2通過SHA256將密碼加密後與保存在系統中的密碼比對,結果當然是失敗,解決方案如下:
打開/etc/pam.d/system-auth文件,找到第二行passwd配置,將sha512改成sha256,保存;
重新運行passwd db2用戶,設置密碼;
成功;
這樣將系統的加密方式換成sha256再更新一下保存的密碼就可以了。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章