Windows服务器安装OpenSSH Server
仅针对需要手动安装的Windows 系统,以Windows Server 2016为例:
1、下载OpenSSH-Server
下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases

下载完成后,传至服务器或者本机并解压至C:/Program Files/目录下

2、安装
打开PowerShell终端

进入到包含ssh可执行exe文件的文件夹下:

执行安装指令:
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1

3、在防火墙开启22端口号:
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

4、启动
net start sshd

5、设置开机自启(可不设置)

至此已安装完成,可在同网段下,进行ssh通道连接测试
连接服务器指令 :
ssh user@ip 例:ssh root@127.0.0.1
注意:以上连接是针对ssh默认开放端口为22的情况,如果端口修改,则用下面指令:
ssh -p 端口号 user@ip
备注:
1、远程 sshd 默认根目录在哪里?
C:\Users\Administrator\
所以你执行:
scp 本地文件 administrator@服务器IP:.
文件会直接传到:
C:\Users\Administrator\你上传的文件
2、如果你想传到远程自定义目录(例如 D:\sftp)
scp "D:\test\123.txt" administrator@192.168.1.100:/D:/sftp/
Windows 路径写法:
/D:/sftp/
6、参数说明
在 Windows Server 中,OpenSSH 的端口和上传目录(用户根目录)都通过 sshd_config 配置文件控制。
- 配置文件位置(隐藏目录)
C:\ProgramData\ssh\sshd_config
注意:C:\ProgramData 默认隐藏,直接复制路径到资源管理器地址栏即可打开。
- 查看与设置上传 / 根目录
SFTP 默认目录是登录用户的 Windows 个人文件夹,可通过 Chroot 监禁 强制锁定到指定目录。 - 查看默认目录
普通用户:C:\Users\用户名\Documents(或桌面)
Administrator:C:\Users\Administrator\Documents - 设置 Chroot 固定目录(推荐)
强制所有用户上传到 D:\sftp_root,并禁止访问 C 盘。
创建目录并设置权限:
# 创建目录
New-Item -ItemType Directory -Path D:\sftp_root -Force
# 设置权限(仅管理员完全控制,用户只读/写入)
icacls D:\sftp_root /inheritance:r
icacls D:\sftp_root /grant "Administrators:(OI)(CI)F"
icacls D:\sftp_root /grant "Users:(OI)(CI)RWX"
3.编辑 sshd_config,在末尾添加:
# 匹配所有用户(可改为 Match User 用户名,指定单个用户)
Match Group *
# 强制根目录
ChrootDirectory D:\sftp_root
# 允许 SFTP
ForceCommand internal-sftp
# 禁止 TCP 转发(安全)
AllowTcpForwarding no
X11Forwarding no
4.重启服务
Restart-Service sshd
浙公网安备 33010602011771号