跳到主要內容

產生SSH Key並透過公鑰進行免密碼登入

 

產生金鑰

首先要先在 Client 端設定一組金鑰。只要使用 ssh-keygen 指令就可以了,而這邊產生金鑰的方式,我們選擇rsa 4096的加密方式,此種方式目前強度較強,但缺點是產生出來的公鑰長度太長,另一種折衷的方式是ed25519 ,取決於個人對資安的要求程度來決定使用哪一種加密方式。

ssh-keygen -t rsa -b 4096

產生鑰匙的過程中會詢問幾個問題,例如要放在哪裡:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/noob/.ssh/id_rsa):

這些直接按下 Enter 保持預設值就可以了。另外也會詢問金鑰的保護密碼,由於我們是要達到免密碼登入,所以也直接按下 Enter 略過:

Enter passphrase (empty for no passphrase):

最後則會看到產生的金鑰:

Your identification has been saved in /home/me/.ssh/id_rsa.
Your public key has been saved in /home/me/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:O92QuN2lx4vHmgVTHsnAKKWKp+dAdQKOOq6B09wfD9E me@My-Computer
The key's randomart image is:
+---[RSA 4096]----+
|    .    ..o.    |
|   o .  ... .o . |
|  . . o o.    =  |
| .   o = . . o . |
|o   o + E o o o  |
|o+ o o . = + *   |
|+.o + + + o +.+  |
|.o   = + .   =o. |
|.     o .   +o.  |
+----[SHA256]-----+

放在使用者資料夾下的 .ssh 資料夾中,其中 id_rsa 為私鑰、id_rsa.pub 則為公鑰。

上傳金鑰

接著要把你的金鑰上傳到你的遠端主機上,你可以透過這個指令:

# ssh-copy-id [user]@[host]
ssh-copy-id me@it30.me.tw

接著試試看,直接 ssh 到你的遠端主機,是不是不會向你詢問密碼了呢?

https://noob.tw/ssh-key/


🔔還沒成為Potato會員的朋友點這裡加入哦,撰寫文章還能挖礦打造被動收入 🔔


留言

這個網誌中的熱門文章

java西元民國轉換_各種不同格式

C#資料庫操作(新增、修改、刪除、查詢)