網上有很多關於使用win10-ssh客戶端登錄linux-ssh服務端的介紹,但很少介紹多台win10-ssh服務端之間互訪的。以下記錄如何免密登錄win10-ssh服務 根據微軟文檔描述,適用於Windows 10 1809 或 Windows Server 2019以上版本 以下內容如果無特別說 ...
網上有很多關於使用win10-ssh客戶端登錄linux-ssh服務端的介紹,但很少介紹多台win10-ssh服務端之間互訪的。以下記錄如何免密登錄win10-ssh服務
- 根據微軟文檔描述,適用於Windows 10 1809 或 Windows Server 2019以上版本
- 以下內容如果無特別說明,在遠程Windows主機上操作
安裝OpenSSH Server
圖形界面
點開 設置 -> 應用 -> 應用與功能 -> 可選功能
點擊 添加功能 後跳出對話框,輸入”ssh”,勾選安裝”OpenSSH 伺服器”
PowerShell方式
以下操作需要管理員許可權
確認OpenSSH可用於安裝
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'
輸出以下內容
Name : OpenSSH.Client~~~~0.0.1.0
State : Installed
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
安裝OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
輸出以下內容
Path :
Online : True
RestartNeeded : False
OpenSSH Server 服務配置
以下操作需要管理員許可權
服務、防火牆相關
# 開啟服務
Start-Service sshd
# 設置自啟動
Set-Service -Name sshd -StartupType 'Automatic'
# 查看狀態
Get-Service sshd
#關閉服務
Stop-Service sshd
# 重啟服務
Restart-Service sshd
# 確認防火牆是放開的
Get-NetFirewallRule -Name *ssh*
- 確認
OpenSSH-Server-In-TCP
狀態是enabled
- 至此可以在本地嘗試
ssh username@ip
連接到遠程機器
配置密鑰免密登錄
↓本地執行
# 生成密鑰對
ssh-keygen -t rsa
# 找到公鑰文件,複製內容備用
# Windows
# %HOMEPATH%\.ssh\id_rsa.pub
# Linux
# $HOME/.ssh/id_rsa.pu
↑本地執行 | 遠程執行↓
打開文件%HOMEPATH%\.ssh\authorized_keys
把公鑰文件添加到上述文件末尾
修改文件C:\ProgramData\ssh\sshd_config
,內容如下
重啟服務Restart-Service sshd
C:\ProgramData\ssh\sshd_config
確保以下3條沒有被註釋
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
確保以下2條有註釋掉
# Match Group administrators
# AuthorizedKeysFile __PROGRAMDATA__/ssh/administrators_authorized_keys
(可選)配置PowerShell作為SSH連接預設SHELL
# 管理員運行
New-ItemProperty -Path "HKLM:\SOFTWARE\OpenSSH" -Name DefaultShell -Value "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -PropertyType String -Force
Restart-Service sshd
參考鏈接
適用於 Windows 10 1809 和 Server 2019 的 OpenSSH 伺服器配置