admin 管理员组

文章数量: 887006

一、环境说明

       Windows 7 x64

       OpenSSH-Win64(下载地址:https://github/PowerShell/Win32-OpenSSH/releases)

二、安装配置步骤

1、选择下载OpenSSH-Win64,解压到C:\Program Files目录下,重命名为OpenSSH。

     

2、在CMD窗口执行下面的命令

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

     

      注意,需要先切换到OpenSSH目录下。

3、配置和启动服务

     点击开始菜单-运行,输入Services.msc,回车

     

    启动下面两个服务,并将启动类型修改为自动。

    

4、配置防火墙策略

     开始菜单-控制面板-系统和安全-Windows 防火墙-高级设置-入站规则,右键新建入站规则,选择端口

     

    在特定本地端口输入 22

    

    

   只选择专用,取消域和公用的默认选择。

    

    

   5、新建计算机用户

   计算机 - 右键管理 - 本地用户和组 - 用户,新建用户,如mysftpuser,设置用户名和密码

   

  6、配置OpenSSH

   这一步非常重要,否则用户登录上来就可以对计算机所有磁盘和目录进行操作。因此,必须要限制用户访问的目录,必须是我们指定的目录,如D:\FileStore

   

        修改sshd_config配置文件,配置ChrootDirectory为我们指定的目录

        ChrootDirectory D:\FileStore

   7、在系统服务列表重启openssh的两个服务

       

三、根目录权限设置

       作为一个服务器,禁止客户端除下载外的其他权限,非常有必要。估计没有人原因自己的服务器上的文件或者目录被用户随意创建、修改或者删除。下面我们就来设置SFTP服务器根目录的用户读写权限,这里需要使用Windows的管理员用户来进行操作。

       第1步,我们右键服务器的根目录,右键,属性,点击安全标签页,点击编辑,增加我们之前创建的mysftpuser这个SFTP专用用户。

       

        输入mysftpuser,然后检查名称,即可出现该用户的全称。点击确定,即可将该用户添加到列表中,然后点击应用-确定即可。

        

        这时我们就可以在用户列表里面选择到mysftpuser这个用户了,点击高级选项,

        

       我们可以看见mysftpuser这个用户目前已经拥有的权限了,我们先选中mysftpuser这个用户,再点击更改权限

       

      选择添加,在查找对象名称里面输入mysftpuser这个用户,点击检查名称,然后点击确定,这时我们可以发现出现了很多权限的列表,这就是我们所需要的!

      这时我们可以选择拒绝所有具有写或者修改操作的权限,如:创建权限、删除权限、更改权限,注意这里不要把读取的属性给禁用了!

      

     最后,不断点击确定,关闭一级级的对话框即可。

四、连接测试

       

       连接成功

       

      下面测试删除文件、创建文件和目录、编辑文件的权限,即可得到我们所期望的报错了!

      

       

      

      

     OK,至此我们成功的在Windows系统使用OpenSSH创建了一个SFTP服务器。

    真的是一个字一个字的敲出来的,看官若是觉得满意,就请酌情打个赏呗(^_^)

    

参考:

https://www.ghacks/2019/07/29/how-to-setup-an-sftp-server-in-windows-using-openssh/

本文标签: 服务器 系统 openssh Windows sftp