SSH配置免密碼登入

2021-07-24 07:23:16 字數 1659 閱讀 7301

weekend110暫表示a,spark01暫表示b

1.a生成金鑰,金鑰就包括私鑰和公鑰

2.a把公鑰複製給b,b便擁有了a的公鑰,僅僅擁有了a的公鑰沒有用處,b還需要把a的複製過來的公鑰放入乙個身份授權的列表(在linux列表也表示為檔案)

前面兩步手動實現,這樣已經可以免密碼了但是免密碼過程的內部驗證機制為:

做完上面的事情之後,

1.一次來自a的登入請求

username@hostname

到達b2.b接受請求並且去身份驗證列表檔案檢視該使用者名稱和主機名對應的公鑰

3.b用a的公鑰加密乙個隨機字串傳送給a

4.a用自己的私鑰解密b傳送過來的隨機字串密文,解密結果傳送給b

5.b接受該密文字串,並且使用b用加密前的字串與接受到來自a的字串對比,結果一致,驗證通過。

主機以及從機要使用金鑰等相關命令必須都安裝ssh和scp

1. centos安裝ssh命令:

centos預設裝有ssh所以只需要安裝ssh服務即可:

yum install openssh-server -y

安裝之後使用ssh提示命令未發現:

yum -y install

openssh-clients

即安裝下

openssh-clients

就可以用ssh進行遠端連線了 遠端登入格式為:ssh username@hostname/ipaddress

2.(這步生成金鑰及.ssh目錄 如果發現機子上沒有.ssh目錄及沒有操作這一步)

ssh-keygen -t rsa

ssh-keygen:利用ssh工具生成金鑰 -t:加密 rsa:加密演算法

命令之後有存金鑰的預設檔案位址(當前主機使用者名稱檔案下)不用再手動輸入具體位址,提示再次輸入密碼不用輸入 輸入了免密碼就會失效相當於每次登陸又需要密碼

生成的位址檔案隱藏需要檢視隱藏檔案 直接 ll -a

3.拷貝公鑰檔案到目標主機(使用ssh和scp命令關聯機器都需要安裝openssh-server和openssh-clients)

scp id_rsa.pub target_hostname:/檔案存放目錄 scp=ssh copy

4.將公鑰檔案內容追加到指定檔案中後,按照ssh規定必須指定固定檔名和固定檔案的各種許可權到.ssh下面

第一次沒有authroized_keys需要在.ssh下面生成authorized_keys 指定該檔案許可權rw 所屬使用者(這裡只需要改為rw許可權即可 即chmod 600 authorized_keys)

追加檔案內容:cat 原檔案 >> 目標檔案

-----------------至此搭建ssh免密碼登入成功 本機需要登入某乙個機子就讓該機子儲存本機的公鑰即可!

登入時本機按照 ssh 使用者名稱@主機名(或者ip位址) 方式登入即可 第一次需要輸入密碼 後續不再需要。

--如果上面的圖不好理解 直接上一張簡單,粗暴的圖:

配置ssh免密碼登入

進入根目錄 cd 可以看到 ssh檔案 該檔案是隱藏的 1 驗證是否安裝ssh ssh version 如果沒有安裝需要安裝 ssh sudo apt get install ssh 2 ssh keygen t dsa p f ssh id dsa 解釋一下,ssh keygen代表生成金鑰 t ...

ssh免密碼登入配置

生成金鑰到 root ssh目錄下 ssh keygen t dsa p f ssh id dsa 執行下面命令實現本地免密碼登入 cat ssh id dsa.pub ssh authorized keys 跨系統免密碼登入 拷貝hnd1公鑰到hnd2root目錄下 scp id dsa.pub ...

SSH免密碼登入配置

部署hadoop集群,都需要配置ssh免密碼登陸,為什麼要設定ssh免密碼登入,其原因是我們在開啟hadoop的時候需要多次輸入yes和root密碼,這是我們所不能忍受的,我們迫切需要實現免登入的功能。這裡以三個節點node0,node1,node2為例配置 首先每個節點的 etc hosts檔案都...