从 Win10 1809 和 Windows Server 2019 开始 Windows 开始支持 OpenSSH Server。
Install Win32 OpenSSH
Manoj Ampalam edited this page on 14 Sep 2018 ·
Install Win32 OpenSSH (test release)
-
Note and first.
-
Download the build of OpenSSH. To get links to latest downloads .
-
Extract contents of the latest build to
C:\Program Files\OpenSSH
(Make sure binary location has the Write permissions to just to SYSTEM, Administrator groups. Authenticated users should and only have Read and Execute.) -
In an elevated Powershell console, run the following
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
-
Open the firewall for sshd.exe to allow inbound SSH connections
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Note:
New-NetFirewallRule
is for Windows 2012 and above servers only. If you're on a client desktop machine (like Windows 10) or Windows 2008 R2 and below, try:netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
-
Start
sshd
(this will automatically generate host keys under %programdata%\ssh if they don't already exist)net start sshd
-
Optional
- To configure a default shell, see
- To setup
sshd
service to auto-startSet-Service sshd -StartupType Automatic
- To migrate sshd configuration from older versions (0.0.X.X), see
Uninstall Win32 OpenSSH
- Start Windows Powershell as Administrator
- Navigate to the OpenSSH directory
cd 'C:\Program Files\OpenSSH'
- Run the uninstall script
powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1
使用 Windows 设置来安装 OpenSSH
可以使用 Windows Server 2019 和 Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件。
若要安装 OpenSSH 组件:
-
打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能” 。
-
扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后:
- 查找“OpenSSH 客户端”,再单击“安装”
- 查找“OpenSSH 服务器”,再单击“安装”
设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH 。
备注
安装 OpenSSH 服务器将创建并启用一个名为 OpenSSH-Server-In-TCP
的防火墙规则。 这允许端口 22 上的入站 SSH 流量。 如果未启用此规则且未打开此端口,那么连接将被拒绝或重置。
使用 PowerShell 安装 OpenSSH
若要使用 PowerShell 安装 OpenSSH,请先以管理员身份运行 PowerShell。 为了确保 OpenSSH 可用,请运行以下 cmdlet:
PowerShell复制
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
如果两者均尚未安装,则此操作应返回以下输出:
复制
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
然后,根据需要安装服务器或客户端组件:
PowerShell复制
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
这两者应该都会返回以下输出:
复制
Path :
Online : True
RestartNeeded : False
Win10 1809 和 Windows Server 2019 以外的windows上安装openSSH
1,下载openSSH windows版
2,解压到C:\Program Files\OpenSSH 不要放在别的路径下,官方这样要求的
3,cmd到openSSH路径下
依次执行
1)安装sshd服务
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
2)开放22号端口(如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响)
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
3)配置开机自启sshd服务
sc config sshd start= auto
到此就安装完成
4,将C:\Program Files\OpenSSH添加到path中,免得每次都要切到C:\Program Files\OpenSSH才能使用ssh,启动ssh服务
net start sshd
5,测试
首次连接未知主机会有是否继续的警告,输入yes就可以了,然后输入密码即可。
win7上没有显示[root@localhost ~]# 但不影响命令的执行。
6,ssh出于安全考虑,每次连接都会提示输入密码,为了避免麻烦,就要配置密钥对。
1)生成密钥对命令
ssh-keygen -t rsa
这里采用rsa算法,你也可以使用其他算法,但dsa默认不支持,这里是个坑,最好生成rsa密钥,ssh支持,随自己吧
2)将公钥传到远程主机的~/.ssh目录下
名字改成authorized_keys
3)修改远程主机sshd_config配置
PubkeyAuthentication yes
StrictModes no
重启sshd服务
7,cmd直连远程linux
注:以上所有操作在win7和win10上都测试通过。
从 Win10 1809 和 Windows Server 2019 开始 Windows 开始支持 OpenSSH Server。
Install Win32 OpenSSH
Manoj Ampalam edited this page on 14 Sep 2018 ·
Install Win32 OpenSSH (test release)
-
Note and first.
-
Download the build of OpenSSH. To get links to latest downloads .
-
Extract contents of the latest build to
C:\Program Files\OpenSSH
(Make sure binary location has the Write permissions to just to SYSTEM, Administrator groups. Authenticated users should and only have Read and Execute.) -
In an elevated Powershell console, run the following
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
-
Open the firewall for sshd.exe to allow inbound SSH connections
New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22
Note:
New-NetFirewallRule
is for Windows 2012 and above servers only. If you're on a client desktop machine (like Windows 10) or Windows 2008 R2 and below, try:netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
-
Start
sshd
(this will automatically generate host keys under %programdata%\ssh if they don't already exist)net start sshd
-
Optional
- To configure a default shell, see
- To setup
sshd
service to auto-startSet-Service sshd -StartupType Automatic
- To migrate sshd configuration from older versions (0.0.X.X), see
Uninstall Win32 OpenSSH
- Start Windows Powershell as Administrator
- Navigate to the OpenSSH directory
cd 'C:\Program Files\OpenSSH'
- Run the uninstall script
powershell.exe -ExecutionPolicy Bypass -File uninstall-sshd.ps1
使用 Windows 设置来安装 OpenSSH
可以使用 Windows Server 2019 和 Windows 10 设备上的 Windows 设置安装这两个 OpenSSH 组件。
若要安装 OpenSSH 组件:
-
打开“设置”,选择“应用”>“应用和功能”,然后选择“可选功能” 。
-
扫描列表,查看是否已安装 OpenSSH。 如果未安装,请在页面顶部选择“添加功能”,然后:
- 查找“OpenSSH 客户端”,再单击“安装”
- 查找“OpenSSH 服务器”,再单击“安装”
设置完成后,回到“应用”>“应用和功能”和“可选功能”,你应会看到已列出 OpenSSH 。
备注
安装 OpenSSH 服务器将创建并启用一个名为 OpenSSH-Server-In-TCP
的防火墙规则。 这允许端口 22 上的入站 SSH 流量。 如果未启用此规则且未打开此端口,那么连接将被拒绝或重置。
使用 PowerShell 安装 OpenSSH
若要使用 PowerShell 安装 OpenSSH,请先以管理员身份运行 PowerShell。 为了确保 OpenSSH 可用,请运行以下 cmdlet:
PowerShell复制
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
如果两者均尚未安装,则此操作应返回以下输出:
复制
Name : OpenSSH.Client~~~~0.0.1.0
State : NotPresent
Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent
然后,根据需要安装服务器或客户端组件:
PowerShell复制
# Install the OpenSSH Client
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0
# Install the OpenSSH Server
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
这两者应该都会返回以下输出:
复制
Path :
Online : True
RestartNeeded : False
Win10 1809 和 Windows Server 2019 以外的windows上安装openSSH
1,下载openSSH windows版
2,解压到C:\Program Files\OpenSSH 不要放在别的路径下,官方这样要求的
3,cmd到openSSH路径下
依次执行
1)安装sshd服务
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
2)开放22号端口(如果你在windows关闭了防火墙并配置了入站规则可以不执行如下命令,多执行不影响)
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
3)配置开机自启sshd服务
sc config sshd start= auto
到此就安装完成
4,将C:\Program Files\OpenSSH添加到path中,免得每次都要切到C:\Program Files\OpenSSH才能使用ssh,启动ssh服务
net start sshd
5,测试
首次连接未知主机会有是否继续的警告,输入yes就可以了,然后输入密码即可。
win7上没有显示[root@localhost ~]# 但不影响命令的执行。
6,ssh出于安全考虑,每次连接都会提示输入密码,为了避免麻烦,就要配置密钥对。
1)生成密钥对命令
ssh-keygen -t rsa
这里采用rsa算法,你也可以使用其他算法,但dsa默认不支持,这里是个坑,最好生成rsa密钥,ssh支持,随自己吧
2)将公钥传到远程主机的~/.ssh目录下
名字改成authorized_keys
3)修改远程主机sshd_config配置
PubkeyAuthentication yes
StrictModes no
重启sshd服务
7,cmd直连远程linux
注:以上所有操作在win7和win10上都测试通过。