Windows 使用 SSH 金鑰免密碼登入 Linux

開啟 PowerShell,使用以下指令產生 RSA 金鑰:
    
ssh-keygen -t rsa -b 4096 -C "a@ruyut.com"
    

註:後方 -C 的參數是註解,方便記憶,可以填入 Email 或其他識別資訊

產生時會詢問金鑰檔名,這裡直接使用預設(直接按下 Enter),會詢問密碼,如果不設密碼直接按下 Enter(如果有設定金鑰密碼,之後在登入時就會需要輸入金鑰密碼)

範例輸出:
    
ssh-keygen -t rsa -b 4096 -C "a@ruyut.com"
Generating public/private rsa key pair.
Enter file in which to save the key (C:\Users\ruyut/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in C:\Users\ruyut/.ssh/id_rsa
Your public key has been saved in C:\Users\ruyut/.ssh/id_rsa.pub
The key fingerprint is:
SHA256:IstyRu778ffAtLlj/tRshPf9b4FIWcfzdL+HNhMIwXA a@ruyut.com
The key's randomart image is:
+---[RSA 4096]----+
|        .oE.  .  |
|         .o  . +o|
|           .o...=|
|           +. . o|
|    o . S o + .o.|
|   + o + o * o=+.|
|  . * . = . +..o+|
|   =  .oo+ .    o|
|    .o.+=+o    .+|
+----[SHA256]-----+
    

使用以下指令查看公鑰:
(如果有更換檔名,則替換為自訂的檔名)
    
cat .\.ssh\id_rsa.pub
    

範例輸出:
    
cat .\.ssh\id_rsa.pub
ssh-rsa AAAAAANzaC1yc2EAAAADAQABAAACAQC86F2gW/Uoc0RDgof2rN/QicTQs4XrLfuR0kgvUfBOjgabzk3OQjqqqrtyiUvII57Lgy1yWoBiwGsAi0nH82kn92VawKGchFLFBCx/Nk7tesbLTEJ5/k46DltnLro4HBTRHHjwCMmSm7L6dxHEMzAM+iLySxjOeBIwDVQ0Zg+3sE+G+PANXoMdlszd3R+I2cyNULspg9gdmvUcGapgjUxVQpY/YCmZv4GJeyXCjasAqdP/aXGqYK2Svn+aNWoudcQqVm/c3oNialHvgKhbQwW5WnROBXHyoeWxG02aTypkzh9z5GlWIh5fGOchr0I8d0V/Ya7W9H3L8ULj8KciI6H9pilu0IcYmtNJOdfBpTn0fNp2O4g1XEGfhoAPPtqwIHfrhlkJNfLX7SYYssK1QZxFwLi/gAfw7dHFysesKl6OmpgkUW7J6HRI0K30jhkQp5Suz194whYfD7JEa55OhO22Wj1lfyfEAhMcNWsvygEDUKDyg9ynJ/3A80YoMKRiM2X/wuFjCR2260v1KHtsjF6ParzYiX5tmqstGyeB62G1GED2F2GpiHgyyW6UDdLUl7A3acbdQvGGescJbx7k2roDr4tJIM/xOv+uSi6/x2VvMMpCWafsUNdlNsJEcDHhHInc3Y/17z2bJaJpQgQCrBsyUI5QdZPMmdLurlJTRC+xgw== a@ruyut.com
    

以上面的範例輸出為例,從 ssh-rsa 開頭一直到最結尾 .com 全部複製起來,連線到要登入的 Linux ,使用系統管理員權限編輯以下檔案:
    
~/.ssh/authorized_keys
    

直接將上面複製的內容貼上。

使用 ssh 功能連線到遠端 Linux :
    
ssh ruyut@192.168.0.50
    

如果沒有自訂檔名、沒有設定 rsa 金鑰密碼,就可以直接登入進去了

如果有自訂檔名,登入時需要使用 -i 參數指定公鑰檔案:
假設檔名為 no_key.pub
    
ssh -i C:\Users\ruyut\.ssh\no_key.pub ruyut@192.168.0.50
    

就可以不使用密碼登入了!

留言

張貼留言

如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com