1. 程式人生 > 實用技巧 >ssh免密登陸(簡單快捷)

ssh免密登陸(簡單快捷)

ssh免密登陸(簡單快捷)

介紹免密登陸配合下邊這張圖可以瞭解下過程:

假設現在A要通過免密登陸B

在A上的操作:

1.終端輸入ssh-keygen (後邊可以指定加密演算法:-t 演算法,如果不指定就是預設的rsa)

原理:

首先通過ssh-keygen命令生成金鑰對(即公玥和私鑰)

生成後金鑰對會自動儲存到/root/.ssh目錄下,此目錄下有兩個檔案即:

id_rsa(私鑰),id_rsa.pub(公鑰)

2.終端輸入ssh-copy-id 要連線的ip地址(如果本地/etc/hosts配置檔案中有該地址的別名也可以用別名),然後輸入連線ip密碼,登陸成功

原理:

這一步的主要作用是將公鑰傳送到B上(第一次對要連線的ip使用需要輸入要連線的ip的使用者的密碼),

然後B將公鑰儲存到/root/.ssh資料夾中的authorized_keys檔案中(這個檔案也會儲存其它主機的公鑰),

然後B用公鑰對一個隨機字串加密返回給A,A再用自己的私鑰解密,把解出來的明文發給B,B驗證,如果正確,就會連線成功

總結(也就是說命令只需要在A主機上寫就行了,如果是第一次要知道B端的使用者密碼):

A:

終端輸入ssh-keygen

然後輸入ssh-copy-id 連線ip,之後會要求屬連線ip上的使用者的密碼,輸入之後成功連線,以後再連線該ip,只需要ssh ip地址就能直接免密登陸

如果還要連線其它ip,如果已經生成金鑰對,不需要再輸入ssh-keygen生成金鑰對,(如果重新生成,則以前的連線ip就會連線不上)