SSH 公開金鑰認證:使用 Windows CMD 示範、不打密碼直接登入 Linux 伺服器!

2021/09/22 1,300 1 作業系統 , 資訊安全 , 伺服器 , Windows , Linux

這次本機端使用 Windows 環境下的 CMD(命令提示字元)來做 SSH 連線,伺服器是 Linux 架構且無安裝圖像化界面,因此所有操作皆須使用指令來完成囉!常需要連線就會常被要求輸入密碼,這在使用上非常不便利,因此透過本文的「SSH 公開金鑰認證」方式即可做到不打密碼直接登入 Linux 伺服器!原理是這樣的,首先需要在本機端生成兩個金鑰,一個是公開金鑰,另一個是私密金鑰,接著將公開金鑰上傳至 Linux 伺服器上,未來只要透過保留的私密金鑰就能直接登入伺服器囉!私密金鑰需要妥善保存,不要外流啦!

首先是生成公開金鑰與私密金鑰,我事先在桌面新增「key」資料夾(即目錄)來存放金鑰,再來開啟 CMD,無須以系統管理員身分執行。


▲ 輸入指令 ssh-keygen -t rsa -b 4096 -f C:\Users\user\Desktop\key\key-t 後方是指定金鑰類型,舉例來說可用 rsa1(SSH-1)、rsa(SSH-2)或 dsa(SSH-2),-b 後方是指定金鑰長度,RSA 金鑰最小為 768 位元、預設為 2,048 位元,DSA 金鑰則必須要剛好為 1,024 位元,-f 後方是指定金鑰存放位置,最後的 key 是檔案名稱。接著會要求輸入 Passphrase,可留白,要重複輸出確認。

▲ 接著輸入 ssh root@IP位址 及密碼登入伺服器。若問是否繼續連線,請輸入「yes」,這邊注意不要打成「y」。

▲ 先輸入 mkdir -p ~/.ssh;exit,即建立 .ssh 資料夾並離開伺服器,接著輸入 scp C:\Users\user\Desktop\key\key.pub root@IP位址或域名:~/.ssh/authorized_keys,即把本機端的 key.pub 私密金鑰上傳(複製)到伺服器端並將其更名為 authorized_keys,最後試著用 ssh -i C:\Users\user\Desktop\key\key root@IP位址 來登入,若連上線就代表成功囉!

贊助廣告 ‧ Sponsor advertisements

留言區 / Comments

萌芽論壇