使用ssh無密碼驗證登錄 公鑰無效

使用ssh無密碼驗證登錄 公鑰無效

遇到了ssh公鑰無效的問題

$dnf install ssh
$ssh-keygen -t rsa -f ~/.ssh/id_rsa -P ''
$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$sudo systemctl restart sshd.service
  1. 生成密鑰對
  2. 將公鑰放到authorized_keys
  3. 重啓ssh服務

如果一個主機內的authorized_keys中含有你的id_rsa.pub你就可以登錄它的ssh端口,注意,這個時候用戶名是一樣的,如果在自己的user下進行無密碼的ssh驗證,那麼進入的也是同樣用戶名的遠程主機,如果沒有該用戶名,則登陸會失敗

最近爲了安裝python的虛擬環境,按照教程把pyenv安裝到了/root/.pyenv下。因爲環境變量加在了~/.bashrc的緣故,導致其他用戶無法使用pyenv,因此改動了/root/目錄的權限並升高至777,然後就發現ssh無法驗證登錄了,將4臺機器額authorized_keys文件重新設定,然而發現並沒有什麼用,Google之,發現是權限太高的緣故,ssh爲了設定安全性,如果`authorized_keys這個文件是可被其他寫的,那麼一定是不安全的,同理/root/目錄/.ssh/目錄同樣受到了ssh的限制。別人的經驗是

$chmod 700 /root/.ssh/
$chmod 600 /root/.ssh/authorized_keys
$chmod 755 /root/

問題得到解決
然而看到了其他的資料,是rsynctutorial,將authorized_keys設置爲了644權限,即當前用戶可讀可寫,組用戶可讀,其他用戶可讀,不明白爲什麼,沒有進行相關的實驗,至少可信度還是有的。


不忘初心~充實就好~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章