問題
使用xshell生成祕鑰對,然後把公鑰傳到遠程主機/root/.ssh目錄下,改名爲authorized_keys,但使用證書登錄時總是報這個錯誤信息:
“所選的用戶密鑰未在遠程主機上註冊,請再試一次”。
首先,修改 /etc/ssh/sshd_config,將PubkeyAuthentication yes前的註釋去掉,還是報同樣的錯誤。
接着,使用systemctl restart sshd重啓sshd服務,再登錄,問題依舊。
解決
最後,檢查證書時,發現證書內容與其他的證書不一樣,仔細一看,原來是私鑰。所以問題的原因是傳錯祕鑰了,應該傳公鑰,結果把私鑰給傳上去了。
重新上傳公鑰,更新authorized_keys文件內容,即可正常登錄。
總結爲一句話:使用SSH證書登錄時,注意服務器上放置的是公鑰,私鑰在本地。