多臺WIN10之間的SSH免密登入
網上有很多關於使用win10-ssh客戶端登入linux-ssh服務端的介紹,但很少介紹多臺win10-ssh服務端之間互訪的。以下記錄如何免密登入win10-ssh服務。
1、安裝OpenSSH。
網上有很多介紹通過新增win10可選功能安裝openssh,此處不贅述。如果通過新增可選功能出現安裝失敗,可以下載openssh自行安裝。
下載地址:PowerShell/Win32-OpenSSH。
注意:最好不要安裝在C:\Users\your_userName\ 下面,不然會出現一些問題,建議直接解壓到到C盤下C:\OpenSSH,並將該路徑新增至環境變數Path。
開始安裝:
以管理員身份開啟powershell,切換至C:\OpenSSH(如果有新增環境變數則隨意位置)。
set-executionpolicy remotesigned
cd C:\OpenSSH
以下安裝命令需要在執行第一條命令後才能執行,不然會報錯
.\install-sshd.ps1
安裝完畢。
2、開啟ssh服務
Start-Service sshd
也可以使用net start sshd 啟動,其他相關命令如下:
檢視狀態:Get-Service sshd
關閉服務:Stop-Service sshd
重啟服務:Restart-Service sshd
確保防火牆關閉或防火牆有放開22埠。
從其他主機(客戶端) ssh your_userName@your_IP_Adress 測試是否正常連線,預設需要輸入密碼登入。
3、開啟免密登入
先在本地(客戶端)生成公鑰,當然,本地也是需要安裝openssh。
ssh-keygen -t rsa
切換到路徑:C:\Users\your_userName\.ssh,找到公鑰檔案id_rsa.pub。
複製公鑰檔案內容,到服務端C:\Users\your_userName\.ssh下建立檔案authorized_keys(沒有檔案字尾),貼上公鑰,儲存退出。
服務端切換到C:\ProgramData\ssh\下(首次啟動sshd後會生成該資料夾),開啟sshd_config檔案,
修改檔案(以下是重點):
確保以下3條沒有被註釋 PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys PasswordAuthentication no 確保以下2條有註釋掉 #Match Group administrators # AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
其餘不做修改,基本都是已註釋不啟用。
重啟服務:Restart-Service sshd
4、測試登入
回到客戶端 ssh your_userName@your_IP_Adress,此時無需密碼直接登入說明正常(首次登陸可能會提示是否加入known_hosts,yes即可)。如果是多臺win10主機互相免密,操作同上,不過需要每臺主機的authorized_keys都需要包含其他主機公鑰,即包含多條公鑰記錄。
參考
[多臺WIN10之間的SSH免密登入 - 知乎](https://zhuanlan.zhihu.com/p/111812831 )