Mac下ssh免密碼登入

2021-07-10 21:12:02 字數 897 閱讀 1586

每次ssh遠端登入mac都需要密碼,很煩人,接下來我們就來使用公鑰私鑰的方式,來ssh遠端登入mac免密碼。

1,生成公鑰和私鑰(客戶端mac上操作)

開啟終端(命令列),執行下邊的命令,一路回車,即可得到公鑰和私鑰。

ssh-keygen -t rsa
公鑰和私鑰就放在 ~/.ssh目錄下,如下圖:(

如何顯示隱藏資料夾)

如果在該資料夾下有名為「known_hosts」的檔案,把該檔案刪掉。可以把它看做乙個快取檔案,目標主機發生變化時,快取可能導致驗證不正確。

2,在遠端主機上新增信任的公鑰(遠端主機mac上操作)

開啟遠端mac主機

如上圖,我新增了兩台mac的公鑰。

至此,所有操作就算完成了,所有在遠端主機「authorized_keys」檔案裡新增了公鑰的mac客戶端,遠端登入時,都不再需要輸入密碼了。

原理猜想

ssh遠端登入時,應該是先自動從 ~/.ssh目錄中,尋找字尾名為.pub的公鑰檔案,然後將這個公鑰傳輸給遠端主機,遠端主機拿到客戶端的公鑰後,去自己的 ~/.ssh目錄下的「authorized_keys」檔案中比對,看客戶端的公鑰是否authorized_keys

檔案中:在的話,則直接信任並登入成功;不在的話,則需要登入密碼。

MAC 配置SSH免密碼登入

sshpass 用於非互動的ssh 密碼驗證ssh登陸不能在命令列中指定密碼,也不能以shell中隨處可見的,sshpass 的出現,解決了這一問題。它允許你用 p 引數指定明文密碼,然後直接登入遠端伺服器。它支援密碼從命令列,檔案,環境變數中讀取 sshpass 安裝 tar zxvf sshpa...

Linux下SSH免密碼登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...

Linux下SSH免密碼登入

ssh配置 主機a 10.0.5.199 主機b 10.0.5.198 需要配置主機a無密碼登入主機a,主機b 先確保所有主機的防火牆處於關閉狀態。在主機a上執行如下 1.cd ssh 2.ssh keygen t rsa 然後一直按回車鍵,就會按照預設的選項將生成的金鑰儲存在.ssh id rsa...