Ubuntu使用ssh公鑰實現免密碼登錄


ssh 無密碼登錄要使用公鑰與私鑰。linux下可以用用ssh-keygen生成公鑰/私鑰對,下面我以Ubuntu為例。

有機器A(10.0.2.1),B(10.0.2.100)。現想A通過ssh免密碼登錄到B。
首先以kube賬戶登陸為例。

1.在A機下生成公鑰/私鑰對

 

ssh-keygen -t rsa -P ''

 

-P表示密碼,-P '' 就表示空密碼,也可以不用-P參數,這樣就要三車回車,用-P就一次回車。
該命令將在~/.ssh目錄下面產生一對密鑰id_rsa和id_rsa.pub。

如果在生成過程中指定了文件路徑和文件名,例如~/.ssh/k8s_rsa, 則生成~/.ssh/k8s_rsa和~/.ssh/k8s_rsa.pub兩個文件

2.public key復制到B機
把A機下的~/.ssh/k8s_rsa.pub 復制到B機的 ~/.ssh/authorized_keys文件里,先要在B機上創建好 ~/.ssh 這個目錄,用scp復制。

scp ~/.ssh/k8s_rsa.pub kube@10.0.2.100:~/.ssh/authorized_keys

由於還沒有免密碼登錄的,所以要輸入一次B機的root密碼。

3.authorized_keys的權限要是600!!!

sudo chmod 600 ~/.ssh/authorized_keys

4. 免密登陸到B機

ssh -i ~/.ssh/k8s_rsa.pub kube@10.0.2.100

5. 將private加入ssh-agent

ssh-add k8s_rsa

注意事項:

如果產生密鑰對名稱為id_rsa和id_rsa.pub,則在登陸時不需要使用 -i 參數指定私鑰。

第一次登陸時會需要輸入yes, 將遠程主機加入 known hosts

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM