oldwu's Blog - openssh
type: channel
link: https://blog.oldwu.top/index.php/tag/openssh/
items: WindowsServer环境下安装OpenSSH（2008R2）

WindowsServer环境下安装OpenSSH（2008R2）
type: item
date: 2024-04-16T21:38:00+08:00
description: WindowsServer环境下安装OpenSSH服务端（2008R2）适用环境Windows2008R2及以上（Win10或者WindowsServer2022以上版本可以直接在设置里面的附加功能安装OpenSSH服务端）背景使用Jenkins部署需要上传打包文件，遂需要再Windows上安装OpenSSH用来通过Sftp上传文件教程下载OpenSSH-Win32进入 https://github.com/PowerShell/Win32-OpenSSH/releases 下载安装包这边分Windows版本，实测WindowsServer2008R2最多只能支持到v8版本，v9版本在执行安装时会报错，如果你使用的是WindowsServer2019或者以上的版本，可以下载最新版本下载完之后放到C:\Program Files\OpenSSH文件夹下（别问为什么，官方文档这么说的）安装OpenSSH进入到C:\Program Files\OpenSSH下，在地址栏输入powershell以唤起，如果唤起的powershell没有管理员权限，请手动打开一个有管理员权限的powershell并进入目录中cd /d C:\Program Files\OpenSSH执行安装powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1不报红即为成功修改配置文件编辑sshd_config_default这边我只修改配置文件中的端口号原来的Port是被注释掉的，放开注释并将22改为你需要的端口号 保存即可放行防火墙分Windows版本Windows2012版本及以上在powershell输入New-NetFirewallRule -Name sshd -DisplayName 'OpenSSH Server (sshd)' -Enabled True -Direction Inbound -Protocol TCP -Action Allow -LocalPort 22Windows2012版本以下在powershell输入netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22其中22为端口号，如果你在配置文件中改为了其他端口号，这边换一下启动并加入自启powershell中执行# 启动sshd服务 net start sshd # 开机自启 Set-Service sshd -StartupType Automatic测试连接直接使用xshell等能连接Linux终端的软件，输入windows登录的账号密码连接即可疑难杂症使用v8.9版本的OpenSSH时，Sftp或者Scp无法正确加载：https://github.com/PowerShell/Win32-OpenSSH/issues/1922#issuecomment-1082108871只需要将OpenSSH的安装路径添加到系统的环境变量Path中去，然后在服务中重启OpenSSH就可以了参考资料Win32-OpenSSH Github官方文档