Windows系统使用freeSSHd搭建一个SFTP服务器

1. freeSSHd简介

  • freeSSHd是一个SFTP服务器。它用来支持使用密码或SSH免密登录的方式进行上传文件或远程操作系统。
  • 说白一点就是一个远程操作的服务端,安装了SFTP服务器的操作系统就可以被支持进行远程操作。这个在liunx操作系统使用的比较常见。但是在windows操作系统上也会有这样的需求,比如我们需要自动化的在另一台windows的服务器上进行远程部署服务,我们就需要能远程操作该系统。
  • freeSSHd 是提供给windows的一个免费的SFTP服务器,搭建简单,使用效果也比较好。相对的我们搭建后需要在另一台机子上要搭建SFTP的客户端,来验证搭建是否成功,我们这边采用Putty客户端。

2. 搭建环境

  • 两台虚拟机: windows系统
  • SFTP服务端:freeSSHd
  • SFTP客户端: Putty

3. 下载freeSSHd安装包

2. 安装freeSSHd

  • 安装路径修改一下即可,我不喜欢安装在C盘
  • 安装后问你是否要生成账户登录的秘钥,选择是
    • 具体作用我也不清楚,但是选择否的话后面配置的服务会无法启动
    • 这边选择否了也没事,后面还可以在配置界面添加

* 是否第一次启动服务,选择否

  • freeSSHd是可以以不同的端口启动多个服务,第一次如果启动的话会占用22端口,后面22端口就无法使用了。而且第一次启动的服务由于没有进行配置启动了也没什么实际用。
  • 如果不小心点是,去服务里面关掉freeSSHd Server服务即可。

3. 配置freeSSHd

  • 一定要以管理员身份启动freeSSHd
  • 3.1. 配置用户

  • 配置远程访问是以什么用户登录到该系统进行操作
  •   
  • 这里的用户名要与本windows系统的用户名一致
  • 验证方法支持密码,SSH秘钥登录的方式,我这边选择秘钥登录的方式,密码的比较简单我这边就不实验了。
  •   

     3.2. 配置SSH

  • Linsten address 监听地址选择本机IP
  • SSH 使用的Prot 端口,默认是22,建议修改为其他的,并配置防火墙权限
    • 我这边修改为33端口
  • Max number of connections :最大连接数默认是0,至少也要改为1,否则不可连接

 

  3.3. 配置33端口防火墙

  • 控制面板-》windows防火墙-》高级设置
  •   3.4. 开启日志,方便查错

  

 

 

 

 3.5. 配置Authentication 验证规则

  • 公钥地址建议在安装目录下建一个Keys目录单独存放
  • 下面的是是否使用密码验证与秘钥验证方式,有禁用,允许,必须使用三种方式。
  • 我这边只需要秘钥验证,可以把第一个改为disabled
  •  

     把生成的公钥文件放到Keys文件夹下,文件名字要与用户名一致,并不带任何后缀

  •  

  • 公钥生成方式下文 putty使用中有说明 

3.6. 打开FreeSSHd服务

  • 如果修改了配置文件,个人建议unload退出系统后,再执行第一步以管理员重启服务,否则可能配置会不生效。
  •  

     

  • success (这样freeSSHd就搭建好了)

 接下来使用Putty验证FreeSSHd是否可用

4. Putty安装

5. 生成公钥私钥

  • 打开putty的安装目录
  • 使用puttygen.exe生成公钥私钥
  •  

     生成公钥文件,与私钥文件到putty安装目录

  •  

     * Putty目录下即可看见私钥与公钥的文件

  •  

     修改公钥文件Administrator

    • 这一步很重要,直接生成的公钥放到freeSSHd中是无法使用,连接时会报验证不通过的错误

 

 替换之后的公钥文件(公钥信息要放在同一行,切记不可换号)

 

 将公钥拷备到对应的SFTP服务器上

6. 使用私钥远程访问

  • 上面我改了33端口后,访问失败了,改回22端口后又可以了,先用22端口吧,端口失败的问题再研究
  • 打开cmd到putty安装目录
    • 也可以在环境变量中设置putty
  • 命令模板

putty –i keyAddress loginUser@IP [ cmd命令]

 

 success,现在就可以远程操作

 

 7. 远程上传文件方法

  • 配置freeSSHd 中sftp文件目录,上传的文件就会到这个工作空间(相对目录)
  •  

     执行pscp命令:

pscp keyAddress fileAddr loginUser@IP:relativePath

  • success
posted on 2022-09-26 18:27  胖妞的瘦猴  阅读(2557)  评论(0编辑  收藏  举报