SSH免密碼登入

2021-08-25 11:16:30 字數 2471 閱讀 9866

目錄

3 最後

ssh免密碼登入顧名思義,就是實現認證過的使用者遠端登入會話不再需要輸入密碼。比如我們在啟動hadoop集群時,如果不配置ssh免密碼登入,那啟動每一台從機時都需要輸入密碼,這無疑是繁瑣的。

ssh免密碼登入主要針對於兩種情況:

下面將針對這兩種情況進行配置。

另外請提前準備好兩台centos主機,並配置好網路環境(如不清楚,可參考文章中的1.2小節),並安裝好ssh客戶端:

yum -y install openssh-clients
當前我在虛擬機器中共有兩台主機:

centos01 192.168.81.128

centos02 192.168.81.129

通過ssh訪問從機,並按提示輸入密碼

ssh root@ip
下圖在centos01中連線centos02,連線成功後可以看見前面主機名改變為root@centos02,即連線成功。

現在沒有配置ssh免密碼登入,所以是需要輸入密碼的,下面開始配置。

在root目錄下,輸入命令:

ssh-keygen

-t rsa

連續三下回車,完成生成,可以看到如下顯示。

檢視root目錄下隱藏資料夾.ssh:

cd

ll -la

進入.ssh資料夾,可以看到如下目錄:

共有三個檔案,作用分別是:

id_rsa:存放私鑰

id_rsa.pub:存放公鑰

known_hosts:存放你ssh訪問記錄。

centos01將本機的公鑰新增到自己的authorized_keys中就可以ssh免密進行登入了,執行以下命令:

.81.128

執行這條命令時,首先會去查詢.ssh檔案下是否存在authorized_keys檔案,如果不存在則進行建立,存在則直接新增。

拷貝成功!

使用ssh訪問下本機:

ssh [email protected]
現在就不需要輸入密碼了!

通過下面這幅圖來描述一下剛才配置的過程:首先centos01自己生成公鑰與私鑰,再將自己的公鑰新增到authorized_keys檔案中,就完成了整個配置。

相同的,現在centos01只需將自己的公鑰發給centos02,新增到centos02的authorized_keys檔案中就可以centos01免密登入centos02,執行以下命令:

.81.129

拷貝成功。

現在進入centos02檢視.ssh檔案目錄:

cd

ll -la

cd .ssh

ll

檢視到centos02中的.ssh檔案目錄下,多出了乙個資料夾authorized_keys,其中就存放了centos01的公鑰。

接下來就通過ssh訪問centos02,就可以不需要密碼了。

同理,如果你想要通過centos02訪問centos01不需要再輸入密碼,那麼以centos02為主機,再進行一次以上的配置即可。

同樣再用一幅圖來簡單的描述下配置過程,加深一下印象:

首先centos01先生成自己的公鑰和私鑰,再將自己的公鑰拷貝給centos02(即將公鑰存放在centos02的.ssh資料夾下authorized_keys檔案中)。

通過這個圖,自己回憶下剛才的操作步驟,應該對整個過程就一目了然了。

這樣ssh免密登入就配置完成了,我們就可以愉快的不需要輸入密碼直接訪問主機了。

ssh 免密碼登入

ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh keygen t rs...

ssh 免密碼登入

ssh 免密碼登入 ssh 無密碼登入要使用公鑰與私鑰。linux下可以用用ssh keygen生成公鑰 私鑰對,下面我以centos為例。有機器a 192.168.1.155 b 192.168.1.181 現想a通過ssh免密碼登入到b。1.在a機下生成公鑰 私鑰對。chenlb a ssh k...

ssh免密碼登入

實現原理 主機a 產生公鑰和金鑰,將主機a的公鑰傳送到主機b 主機b 接收主機a傳送的公鑰 主機a ssh請求登入到主機b 主機b 傳送給主機a一串字元 主機a 收到主機b傳送的字元,使用金鑰進行加密,並傳送回到主機b 主機b 接收到主機a使用金鑰加密後的字元,使用主機a的公鑰執行一定演算法進行對比...