ssh使用 公鑰私鑰配對(Windows) 登入不再需要帳號密碼
首先進cmd
輸入 ssh-keygen
--------------------------
這時候會詢問 要存取的路徑
預設是 C:\Users\使用者名稱\.ssh
然後詢問 是否設定密碼 空白就是不用
--------------------------
Enter passphrase (empty for no passphrase): Enter same passphrase again:
--------------------------
如果有設定passphrase,則每次用此key登入都需要輸入這個密碼 (安全性較高,可依個人需求設定)
完成後KEY產生到指定位置
會有兩個Key 有副檔名.pub 就是公鑰, 沒有附檔名的就是私鑰
私鑰最重要不能被竊取
成功就會出現
Your identification has been saved in /home/username/.ssh/id_rsa_ubuntu. Your public key has been saved in /home/username/.ssh/id_rsa_ubuntu.pub. The key fingerprint is: SHA256:nNnQckFbuegUs4WD3y+7YqwCaDhfUlX2J17jxF7X3FU xenby@demo.com The key's randomart image is: +---[RSA 2048]----+ | .o++ .. E| | . *o+. ..| | . = *+ o ..| | . . Ooo+ * +| | . o Soo..B o.| |o + o . ..o | | + o . . . . | | . . + o | | ..o .o. | +----[SHA256]-----+
--------------------------
到這邊為止 本地端已經完成設置
再來須鑰公鑰傳送到Server
Windows 輸入
scp 公鑰路徑 username@IP地址:~/.ssh/
#這個命令會把本地的id_rsa.pub文件複製到Server的 ~/.ssh/
#scp 表示使用DCP協議進行文件傳輸
scp 要傳輸的本地文件路徑 遠程伺服器上的用戶名@服務器的IP地址:~/.ssh/
#在Linux中~表示當前用戶的主目錄
#也就是~/.ssh/ 表示用戶主目錄下的一個名為.ssh的子目錄, 在SSH密鑰管理中,通常會將公鑰和私鑰文件存在在這個目錄下
#~表示當前用戶的主目錄(用戶登錄入後所在的目錄)
#~/.ssh:表示用戶主目錄下的一個名為.ssh的隱藏文件,在Linux中, '.'開頭的文件通常被視為隱藏文件
公鑰成功上傳到伺服器時會有下面的畫面
C:\Users\K>scp C:\Users\K\.ssh\id_rsa.pub k@192.168.33.137:~/.ssh/
username@IP地址's password:
id_rsa.pub 100% 572 142.8KB/s 00:00
--------------------------
再來登入伺服器
我們需要把公鑰的內容複製到 ~/.ssh/authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh\authorized_keys
#cat 用來顯示文件內容的命令
#~/.ssh/id_rsa.pub 這是遠端伺服器上的公鑰文件路徑
#>> 重定向符號(將命令輸出追加到指定文件的末尾)
#~/.ssh\authorized_keys :這個路徑是存了被允連接到該帳戶的公鑰列表文件
# 所以上面的指令就是指定了要將公要添加 ~/.ssh/authorized_keys 從而允許使用該公鑰進行SSH密鑰認證, 透過私鑰連接到目標主機 無須輸入密碼
標籤: SSH私鑰認證

0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁