Ubuntu 18.04 root 使用ssh密鑰遠程登陸


前言:

Ubuntu默認是禁止root用戶遠程登陸

本教程解決Ubuntu 18.04版本 root用戶 使用ssh密鑰無法遠程登陸的問題

問題發生的環境:

騰訊雲,重裝Ubuntu服務器時選擇使用ssh密鑰登陸服務器。

問題概括:

重裝完成后默認創建了ubuntu用戶,使用ssh密鑰正常登陸,編輯/etc/ssh/sshd_config文件開啟PermitRootLogin yes並重啟sshd服務,使用Xshell使用root遠程連接失敗,提示“所選的用戶密鑰未在遠程主機上注冊”。

Google搜索問題發現大多數都是類似以下解決方法:

  1. sshd_config開啟運行root遠程登陸PermitRootLogin Yes (已配置 但root登陸失敗)

  2. root登陸次數太多 賬號被鎖 重置登陸次數 (不是此條原因)

    嘗試無果繼續搜索 看到一篇文章提到

    配置ssh公鑰到user/.ssh/authorized_keys

    https://www.jianshu.com/p/7cd6f8102816?utm_campaign

這篇文章給了我思路,騰訊雲重裝系統只要勾選使用ssh登陸,就會默認幫我們配置好默認的ubuntu用戶的ssh配置設置,而root用戶因為默認就禁止遠程登陸,那么會不會也因此並沒有配置上ssh公鑰呢。(根據上面的登陸失敗提示 心里想應該八九不離十就是這個原因)

解決思路

使用命令查看authorized_keys文件的路徑

find -name authorized_keys

img

發現確實root和ubuntu用戶分別對應一個authorized_key文件

對比查看兩個authorized_keys文件發現問題所在,ubuntu用戶加載了正確的ssh公鑰,而root用戶下的authorized_keys文件內容則為空。知道問題所在就好解決了

解決步驟

使用命令移動到ubuntu用戶下的authorized_keys文件所在目錄

cd /home/ubuntu/.ssh/

拷貝authorized_keys文件覆蓋root用戶下.authorized_keys文件

cp -i authorized_keys /root/.ssh/

sudo service ssh restart

重啟ssh服務之后問題就解決了。


免責聲明!

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



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