早上在用SSH公鑰認證打通全部的機器,有一臺機器在完成一些列操做後密鑰登錄失敗,其餘機器一切正常。
linux
錯誤以下:Public-key authentication with the server for user langxiaowwei failed. Please verify username and public/private key pair.服務器
接着我開始懵逼,一樣的操做,爲何不同的結果呢,確定是這臺機器有問題。網絡
環境:Ubuntu14.04ssh
SecureCRT登錄算是一個網絡交互操做吧,若是有詳細日誌看問題出在哪裏就行了。登錄失敗,在客戶端來講,只有一個failed彈窗提醒,具體交互日誌SecurtCRT自己spa
不知道去哪看(也許是我孤陋顧問)。那麼就去看服務器端的日誌,經過在查詢認證日誌auth.log後,發現以下信息:命令行
Apr 25 11:19:21 i-5z8r7pqj sshd[32300]: User langxiaowei not allowed because account is locked Apr 25 11:19:21 i-5z8r7pqj sshd[32300]: input_userauth_request: invalid user langxiaowei [preauth]
能夠看到,是由於帳戶被鎖住(神奇,剛建的用戶就被鎖定。鎖定緣由待查。。),致使SecureCRT一直登錄失敗。調試
那麼usermod -U langxiaowei 來解鎖後,使用密鑰順利登錄。日誌
其餘方法:code
一、SecureCRT登錄應該是SSH操做,故咱們能夠在另一個臺服務器上用命令行ssh鏈接它,打開verbose模式(ssh -vvv),能夠看到具體鏈接失敗信息。server
二、對於服務端sshd,它自己是一個服務來着,故應該能夠有詳細的日誌以供調試查看。
將ssh服務的日誌級別調整到DEBUG3(/etc/ssh/sshd_config 中LogLevel),而後重啓ssh服務。以後嘗試登錄同時去查看系統日誌便可。
三、檢查各類權限,日誌後還解決不了就多是疑難雜症了。Google後知,多是Selinux引發的(這個具體看本身的服務器,通常我設置Selinux是初始關閉的)
經過這個實例,我只想說當你的服務出問題,令你抓狂解決不了的時候,看日誌是正確的選擇,將日誌的輸出到最細化,總能發現緣由。
不管是腳本,程序,仍是系統服務器,故咱們在寫腳本和程序的時候,必需要處理好日誌記錄和將錯誤及時拋出。
固然,網絡世界很複雜,若是真遇到解決不了的,還得Google O(∩_∩)O~