Windows使用OpenSSH
如何在 Windows 上使用 OpenSSH,包括安裝以及特定於 Windows 的配置和用例?
OpenSSH 是安全 Shell (SSH) 工具的開放原始碼版本,Linux 及其他非 Windows 系統的管理員使用此類工具跨平臺管理遠端系統。
OpenSSH 在 2018 年秋季已新增至 Windows,幷包含在 Windows 10 和 Windows Server 2019 中。
https://docs.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_overview
有關常見 OpenSSH 功能的其他詳細文件,請參閱
https://www.openssh.com/manual.html
主 OpenSSH 開源專案是由 OpenBSD 專案的開發人員管理的。 此專案的 Microsoft 分支在 GitHub中。
https://github.com/PowerShell/openssh-portable
維基:(Building OpenSSH for Windows (using LibreSSL crypto))
https://github.com/PowerShell/Win32-OpenSSH/wiki
SSH 基於客戶端-伺服器體系結構,使用者在其中工作的系統是客戶端,所管理的遠端系統是伺服器。 OpenSSH 包含一系列元件和工具,用於提供一種安全且簡單的遠端系統管理方法,其中包括:
- sshd.exe,它是遠端所管理的系統上必須執行的 SSH 伺服器元件
- ssh.exe,它是在使用者的本地系統上執行的 SSH 客戶端元件
- ssh-keygen.exe,為 SSH 生成、管理和轉換身份驗證金鑰
- ssh-agent.exe,儲存用於公鑰身份驗證的私鑰
- ssh-add.exe,將私鑰新增到伺服器允許的列表中
- ssh-keyscan.exe,幫助從許多主機收集公用 SSH 主機金鑰
- sftp.exe,這是提供安全檔案傳輸協議的服務,通過 SSH 執行
- scp.exe 是在 SSH 上執行的檔案複製實用工具
1、從 Windows Server 2019 或 Windows 10 1809 上的“設定”UI 安裝 OpenSSH
OpenSSH 客戶端和伺服器是 Windows 10 1809 的可安裝功能。
若要安裝 OpenSSH,請啟動“設定”,然後轉到“應用”>“應用和功能”>“管理可選功能”。
掃描此列表,檢視 OpenSSH 客戶端是否已安裝。 如果沒有,則在頁面頂部選擇“新增功能”,然後:
- 若要安裝 OpenSSH 客戶端,請找到“OpenSSH 客戶端”,然後單擊“安裝”。
- 若要安裝 OpenSSH 伺服器,請找到“OpenSSH 伺服器”,然後單擊“安裝”。
安裝完成後,請返回“應用”>“應用和功能”>“管理可選功能”,你應當會看到列出的 OpenSSH 元件。
安裝 OpenSSH 伺服器將建立並啟用名為“OpenSSH-Server-In-TCP”的防火牆規則。 這允許埠 22 上的入站 SSH 流量。
PS C:\Users\mi_zy> get-netfirewallrule -name *ssh*
Name : OpenSSH-Server-In-TCP
DisplayName : OpenSSH SSH Server (sshd)
Description : Inbound rule for OpenSSH SSH Server (sshd)
DisplayGroup : OpenSSH Server
Group : OpenSSH Server
Enabled : True
Profile : Any
Platform : {}
Direction : Inbound
Action : Allow
EdgeTraversalPolicy : Block
LooseSourceMapping : False
LocalOnlyMapping : False
Owner :
PrimaryStatus : OK
Status : 已從儲存區成功分析規則。 (65536)
EnforcementStatus : NotApplicable
PolicyStoreSource : PersistentStore
PolicyStoreSourceType : Local
2、 通過 PowerShell 安裝 OpenSSH
若要使用 PowerShell 安裝 OpenSSH,請首先以管理員身份啟動 PowerShell。 若要確保 OpenSSH 功能可以安裝,請執行以下操作:
Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'# This should return the following output:Name : OpenSSH.Client~~~~0.0.1.0State : NotPresent Name : OpenSSH.Server~~~~0.0.1.0State : NotPresent
然後,安裝伺服器和/或客戶端功能:
# Install the OpenSSH ClientAdd-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0# Install the OpenSSH ServerAdd-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0# Both of these should return the following output:Path : Online : True RestartNeeded : False
3、 SSH 伺服器的初始配置
若要配置 OpenSSH 伺服器以在 Windows 上首次使用,請以管理員身份啟動 PowerShell,然後執行以下命令來啟動 SSHD 服務:
Start-Service sshd# OPTIONAL but recommended:Set-Service -Name sshd -StartupType 'Automatic'# Confirm the Firewall rule is configured. It should be created automatically by setup.Get-NetFirewallRule -Name *ssh*# There should be a firewall rule named "OpenSSH-Server-In-TCP", which should be enabled# If the firewall does not exist, create oneNew-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
首次使用 SSH
在 Windows 上安裝 OpenSSH 伺服器後,可以從安裝了 SSH 客戶端的任何 Windows 裝置上使用 PowerShell 來快速測試它。 在 PowerShell 中,鍵入以下命令:
Ssh username@servername
到任何伺服器的第一個連線都將生成類似以下內容的訊息:
The authenticity of host 'servername (10.00.00.001)' can't be established. ECDSA key fingerprint is SHA256:(<a large string>). Are you sure you want to continue connecting (yes/no)?
回答必須是“yes”或“no”。 回答 Yes 會將該伺服器新增到本地系統的已知 ssh 主機列表中。
系統此時會提示你輸入密碼。 作為安全預防措施,密碼在鍵入的過程中不會顯示。
在連線後,你將看到類似於以下內容的命令 shell 提示符:
domain\username@SERVERNAME C:\Users\username>
Windows OpenSSH 伺服器使用的預設 shell 是 Windows 命令列直譯器。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7970627/viewspace-2757011/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- [openssh]windows 10使用cygwin安裝openssh服務端Windows服務端
- OpenSSH使用
- Windows 10系統運維之OpenSSHWindows運維
- 使用OpenSSH證書認證
- openSSH
- linux opensshLinux
- OpenSSH 原始碼原始碼
- OpenSSH升級(從OpenSSH_7.4p1升級到OpenSSH_8.4p1) [操作指令碼]指令碼
- Ubuntu升級opensshUbuntu
- aix升級opensshAI
- 升級openssh7.9
- Linux openssh升級8.0Linux
- openssh key格式轉換
- openssh 漏洞修復 openssl升級 OpenSSH_9.8p1麒麟系統
- 原始碼升級SUSE openssh原始碼
- 圖解 -- Win10 OpenSSH圖解Win10
- redhat 7.4從openssh7.6離線升級openssh8.4p1解決方法Redhat
- virtualbox ubuntu 安裝 openssh-serverUbuntuServer
- Centos升級到openssh9.7CentOS
- Win11 啟用 OpenSSH ServerServer
- Linux下的OpenSSH,你知道多少?Linux
- Windows explorer 使用Windows
- 避坑版-OpenSSH 使用者名稱列舉漏洞(CVE-2018-15473)
- redhat系統升級openssh到7.5Redhat
- Centos6.5 離線 Openssh 升級CentOS
- suse11 openssh 升級到8.0
- Win10 內建 OpenSSH 使用金鑰連不上的問題解決Win10
- CentOS6.9下升級預設的OpenSSH操作記錄(升級到OpenSSH_7.6p1)CentOS
- 使用Ansible管理WindowsWindows
- Windows下Github使用WindowsGithub
- Windows使用小技巧Windows
- 使用SSH管理WindowsWindows
- Linux - openssh透過原始碼build rpm包Linux原始碼UI
- Centos7 升級openssh到最高版本CentOS
- windows下的gcc使用WindowsGC
- Windows下QtCreator使用QWebEngineViewWindowsQTWebView
- Windows安裝使用OpensslWindows
- Windows上TDengine初次使用Windows