Windows服务器安装OpenSSH Server

仅针对需要手动安装的Windows 系统,以Windows Server 2016为例:

1、下载OpenSSH-Server

下载地址:https://github.com/PowerShell/Win32-OpenSSH/releases

001

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

002

2、安装

打开PowerShell终端
003

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

004

执行安装指令:

powershell.exe -ExecutionPolicy Bypass  -File install-sshd.ps1

005

3、在防火墙开启22端口号:

netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22

006

4、启动

net start sshd

007

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

008

至此已安装完成,可在同网段下,进行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 配置文件控制。

  1. 配置文件位置(隐藏目录)
C:\ProgramData\ssh\sshd_config

注意:C:\ProgramData 默认隐藏,直接复制路径到资源管理器地址栏即可打开。

  1. 查看与设置上传 / 根目录
    SFTP 默认目录是登录用户的 Windows 个人文件夹,可通过 Chroot 监禁 强制锁定到指定目录。
  2. 查看默认目录
    普通用户:C:\Users\用户名\Documents(或桌面)
    Administrator:C:\Users\Administrator\Documents
  3. 设置 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

posted on 2026-04-03 21:28  管先生  阅读(25)  评论(0)    收藏  举报

导航