
我正在嘗試在客戶端電腦上使用 putty 並在伺服器電腦上使用 openssh 從另一台 Windows 電腦登入 Windows 電腦。我已經可以透過輸入使用者名稱和密碼連接到上述電腦。但我想使用我已經使用 puttygen 產生的金鑰對登入。我該如何將公鑰新增至伺服器(windows pc)?我把公鑰放在哪裡?
附加資訊:
我設法透過使用客戶端電腦上的winscp 將公鑰安裝到伺服器的以下位置來新增公鑰:c:/users/myusername/.ssh/authorized_keys。
但是當我嘗試使用私鑰登入時,它顯示“伺服器拒絕我們的密鑰”。我讀過,我必須將權限授予 .ssh 資料夾和authorized_keys 檔案才能使其工作。我看過這方面的例子,但是是在Linux中,但是如何在Windows上準確地做到這一點?
我嘗試登入的電腦中只有一名用戶,如果資訊有幫助的話,它也是管理員。
答案1
通常您會將公鑰新增至:
> C:\Users\myUserName.myDomainName\.ssh\id_rsa.pub
如果其中沒有,您可以將公鑰貼到文件中。
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQBp2eUlwvehXTD3xc7jek3y41n9fO0A+1234567ZAvuqrwNcR2K7UXPVVkFmTZBes3PNnab4UkbFCki23tP6jLzJx/MufHypXprSYF3x4RFh0ZoGtRkr/J8DBKE8UiZIPUeuaaaaaaXztvP+pVXT+HfSnLdN62lXTxLUp9EBZhe3Eb/5nwFaKNpFg1r5NLIpREU2H6fIepi9z28rbEjDj71Z+GOKDXqYWacpbzyIzcYVrsFq8uqOIEh11111R9H0k4lRhKNlIANyGADCMisGWwmIiPJUIRtWkrQjUOvabcdefgcofuxKaWaF5NqwKCc5FDVzsysaL5IM9/gij8837QN7z rsa-key-20141103
(請注意,這不是我或其他任何人的公鑰或私鑰,這只是一個演示密鑰。)
儲存檔案並關閉文字編輯器。
現在,您可以按照圖像瀏覽到「Auth」配置選項中的密鑰來指定密鑰的位置:
如果上述內容不夠清楚,此連結可以作為如何更詳細地進行整個過程的指導。
https://devops.ionos.com/tutorials/use-ssh-keys-with-putty-on-windows/
客戶端使用 (ssh)
- 在客戶端產生密鑰對(最好帶有密碼):
ssh-keygen -t rsa -f id_rsa
- 使用 ssh-agent 註冊私鑰(可選,用於單一登入體驗)
net start ssh-agent
ssh-add id_rsa - 使用私鑰登入
ssh -i .\id_rsa user@host (工作群組使用者)
ssh -i .\id_rsa -l user@domain host (網域使用者)
設定伺服器端(sshd)
- 將 id_rsa.pub(客戶端的公鑰)的內容附加到對應使用者目錄中的以下檔案(如果需要,請建立一個)。
%systemdrive%\Users\.ssh\authorized_keys
- 仔細檢查authorized_keys的存取權限(只有系統、管理員和擁有者可以存取)。
icacls %systemdrive%\Users\.ssh\authorized_keys