實現Linux免密鑰登陸

我們在一臺Linux機器上利用SSH登陸其他Linux機器時,需要我們輸入PassWord,以及搭建集羣時,節點之間相互通信,都需要輸入PassWord。第一,長時間SSH登陸需要反覆輸入密碼;第二,集羣之間通信需要自動化。這時,免密鑰登陸就顯得尤爲重要,接下來我們將要介紹如何設置免密鑰登陸。

我們以3臺Linux機器爲例說明免密鑰登陸的步驟,以此類推,可以擴展到n臺Linux機器中。
3臺主機的用戶名、主機名爲:
shaomingliang@xcloud162
shaomingliang@xcloud163
shaomingliang@xcloud164

設置步驟

第一步驟:對每臺機器運行ssh-keygen -t rsa指令

這條命令可以在任意路徑下運行,其目的在/home/shaomingliang/.ssh路徑下生成私鑰和公鑰(分別爲id_rsa、id_rsa.pub),我們只使用id_rsa.pub做免密鑰登陸。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

第二步驟:對每臺機器運行ssh-copy-id shaomingliang@xcloud162指令

運行這條命令會把當前機器上的id_rsa.pub內容拷貝到xcloud162機器下/home/shaomingliang/.ssh/authorized_keys文件裏。

這裏寫圖片描述

這裏寫圖片描述

這裏寫圖片描述

正常情況下執行此指令會正常把3臺機器上的id_rsa.pub內容拷貝到xcloud162機器上的authorized_keys文件中,但是在我這裏報錯了,不能正常進行拷貝,解決辦法就是我們自己人工把id_rsa.pub內容拷貝到xcloud162機器上的authorized_keys中。

下圖爲執行完此指令後,在authorized_keys文件中的內容。
這裏寫圖片描述

第三步驟:在xcloud162機器上執行scp authorized_keys shaomingliang@xcloud163 (xcloud164):~/.ssh指令

在/home/shaomingliang/.ssh目錄下運行此指令,把xcloud162機器上的authorized_keys文件分發到xcloud163和xcloud164機器上,如下圖所示。

這裏寫圖片描述
notice:括號中爲另外的主機名。

到此爲止,整個配置過程已經完成,現在讓我們享受一下免密鑰登陸的便利。

這裏寫圖片描述

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