linux免密登錄ssh驗證配置方法及常見錯誤解決


目標:從服務器A免密登錄服務器B

【配置方法】

1.在服務器A生成密鑰文件,直接使用以下命令:

ssh-keygen

中間遇到輸入內容一路回車即可,完成后會在 ~/.ssh 目錄下生成兩個文件:id_rsa(私鑰文件)和 id_rsa.pub(公鑰文件,在服務器B要用到的)

 

2.登錄服務器B,編輯~/.ssh/authorized_keys文件,將服務器A里的~/.ssh/id_rsa.pub內容復制進去保存,並授予權限644。另外~/.ssh目錄授權700

vim ~/.ssh/authorized_keys chmod 644 ~/.ssh/authorized_keys chmod 700 ~/.ssh

如果~/.ssh目錄不存在,請手動創建,命令為:mkdir ~/.ssh

 

完成以上兩步就可以實現了,如果遇到問題無法連接,請繼續往下看:

 

【常見問題】

1.服務器B沒打開公鑰登錄權限

解決方法:編輯/etc/ssh/sshd_config文件,注意以下幾項的值:

PermitRootLogin yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

編輯完保存,重啟sshd服務(ubuntu是ssh ,centos是sshd)

(這些值其實也是默認的,默認也是開啟的,如果連不上還是需要檢查下)

 

2.服務器B目錄和文件權限

解決方法:檢查並設置以下權限

~/.ssh/  700

~/.ssh/autorized_keys  644

 

3.服務器B開啟了selinux

解決方法:使用以下命令關閉

setenforce 0

並且編輯配置文件(永久關閉)

vim /etc/selinux/config

改變里面的值

SELINUX=disabled

然后保存

 

以上方法可以解決99%的連不上問題。希望對你有幫助。

 


免責聲明!

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



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