ssh免密碼登陸

2021-10-23 10:27:12 字數 1339 閱讀 1715

這裡為了方便說明問題,假設有a和b兩台安裝了centos6.5的主機。目標是實現a、b兩台主機分別能夠通過ssh免密碼登入到對方主機。不同主機的配置過程一樣,這裡介紹a主機的配置過程。

事先在ab主機分別建立好要免密碼登入的使用者名稱,在/etc/hosts檔案增加主機名和ip。

修改hosts檔案:vim /etc/hosts

192.168.65.101 node01

192.168.65.102 node02

1.環境設定

1.1 關閉防火牆(root許可權)

centos6.5對網路管理相當嚴格,需要關閉selinux。到/etc/selinux/config下,把selinux=enforcing修改為selinux=disabled 。需要root許可權。

$ vim /etc/selinux/config

找到selinux並修改為selinux=disabled

1.2 修改sshd的配置檔案(root許可權)

$ vim /etc/ssh/sshd_config

找到以下內容,並去掉注釋符「#」

rsaauthentication yes

pubkeyauthentication yes

authorizedkeysfile .ssh/authorized_keys

1.3 重啟sshd服務(root許可權)

$ /sbin/service sshd restart

2.本機生成公鑰和私鑰

從root切換回要免密碼登入的使用者,執行命令:

預設在使用者的根目錄(~/.ssh/)生成兩個檔案:

id_rsa: 私鑰

id_rsa.pub:公鑰

3.把公鑰匯入到認證檔案

3.1 匯入到本機

完成這一步,再按照步驟4修改相關檔案許可權,可以免密碼登入本機。可以輸入以下命令驗證。

ssh node01

如果能夠登入,即驗證成功。

3.2 匯入到目標主機

3.2.1在本機操作,傳送到目標主機

注意把檔案傳送到目標主機時,要用root使用者,否則會因許可權不夠而拒絕。輸入目標主機密碼後,出現ok即傳輸成功。

3.2.2 登入到目標主機,把公鑰匯入到認證檔案

使用要被免密碼登入的使用者名稱,登入到目標主機。然後執行以下操作。

再按照步驟4修改相關檔案許可權,完成免密碼登入設定。

4.更改相關檔案的許可權

至此,完成免密碼登入設定。

5. 測試

a主機(node01),b主機(node02)。在a主機,執行以下命令測試:

ssh node02

能夠免密碼直接登入,即設定成功。如果出錯,請仔細檢查以上各個步驟。

SSh 免密碼登陸

有機器a 192.168.1.155 b 192.168.1.181 現想 a通過ssh免密碼登入到b。操作步驟 進入主機a的 cmd介面 1 產生金鑰,命令如下 ssh keygen t rsa p 截圖如下 在輸入上面的命令後,它會在 users chenlb 下生產.ssh 目錄,ssh 下有...

ssh免密碼登陸

1 ubuntu為當前使用者產生ssh非對稱秘鑰的方法 ssh keygen t rsa t 指定rsa加密演算法產生一對秘鑰 id rsa id rsa.pub其中id rsa為私鑰,id rsa.pub為公鑰 2 ubuntu中免密碼登陸的重要檔案 authorized keys 如果一台伺服器...

SSH免密碼登陸

當我們要ssh遠端登陸到主機時是需要輸入使用者名稱和密碼的。如果不想這樣,就需要首先在自己使用者主目錄下的.ssh目錄下生成公鑰和私鑰。然後把自己的公鑰傳送給遠端主機的authorized keys 也是主目錄的.ssh資料夾下 檔案下。這樣遠端主機的authorized keys檔案下就有了你的使...