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

2022-04-15 07:26:21 字數 1228 閱讀 7534

目標:從伺服器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沒開啟公鑰登入許可權

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%的連不上問題。希望對你有幫助。

Linux免密SSH登入

ssh工作機制 ssh免密碼登入 一.ssh工作機制 ssh為secure shell 安全外殼協議 的縮寫。很多ftp pop和telnet在本質上都是不安全的。我們使用的xshell6就是基於ssh的客戶端實現。ssh的服務端實現為openssh deamon。在linux上使用ssh ssh ...

SSH免密登入

a為本地主機 b為遠端主機 生成公鑰私鑰對 ssh keygen t rsa登入遠端機器 ssh root 然後輸入密碼 將.ssh的許可權設為700 mkdir ssh 如果資料夾已存在,跳過 chmod 700 ssh將本地生成的rsa公鑰複製到遠端機器 scp ssh id rsa.pub r...

SSH免密登入

當我們在配置多台計算,使之可以相互使用無密碼登入 ssh,之前都是一台一台的配置,現在一台a上新增b,然後在另一台b上再次新增a,這樣使得authorized keys中的內容相同,但時並不是完全相同,比如新增順序。如果超過2臺,這種配置就相當複雜了,而且容易出錯。後來,在網上看到了一種簡單的配置,...