需求:工作中需要接收外部机构的文件,要搭建一个SFTP服务器。Linux中SFTP是自带的服务,Windows上要额外安装软件,这里用免费的FreeSSHd,配置很简单。但也有局限性,听说FreeSSHd 从2009年就停止维护了,所以要搭建SFTP服务首选还是Linux系统。

1、下载和安装FreeSSHd

下载链接:http://www.freesshd.com/?ctt=download

安装过程一路选“是”,除了下图这一步是/否都可。

2、配置与运行

启动时要右键选择管理员身份启动,否则后面有坑。要配置的几个地方:

  • 创建用户Users:一般选择Password和Public key两种方式,先选择Password。

  • 配置SSH: 这里IP、端口和最大连接数可以按需配置,最大连接数0表示不限制,我保持默认。

  • 认证方式:上面选择了Password认证方式,这里要选Allowed或者Required(选Required的话,即使是公钥登录也要输密码)。

  • 配置SFTP映射路径:就是想让用户看到的文件路径。这里只能配置一个,不能依据用户区分。

以上参数配置好后,就可以测试了,其余的参数可以根据需求改改。注意每改完一个参数后,一定要点应用。

配置完所有参数后,在Server status界面重启下SSH服务。

4、连接测试

网上有很多Windows上访问SFTP的客户端软件,我用WinSCP,输入IP和刚刚的用户密码就可以访问了。

WinSCP下载:https://winscp.net/eng/docs/lang:chs#%E4%B8%8B%E8%BD%BD

5、用秘钥访问SFTP

秘钥访问比用户名密码访问的配置复杂一点,但优点是以后用户每次访问不再需要输密码,能直接访问。原理可百度。

(1)首先,要在SFTP的客户端生成一对公钥和私钥,WinSCP有自带的功能可以生成(还可以选择用git,SecureCRT等工具),操作如下,选择使用putty生成秘钥对。

(2)点击Generate, 就生成了一对公钥和私钥,上面方框里的内容就是公钥,全选复制,保存在一个以访问用户名称命名的文本文件里,例如sftpuser1;然后点击Save private key保存私钥到本地。

注意:不要点击Save public key来保存公钥,因为这样保存后的格式和上面方框中的不同,多了些没用的内容,会导致服务端将公钥识别为一个无效的公钥。(这个坑我研究了一小时才发现原因,后来用别的工具生成秘钥对登录成功了,对比公钥内容才发现之前生成的公钥格式有问题。)

(3)将刚刚保存的公钥文件发给SFTP服务端,服务端需要将公钥保存在下图配置的公钥文件夹内。下面Password认证要配置Allowed或Disabled, Public Key认证选择Allowed。

另外用户设置中的认证方式要改成公钥方式:

(4)回到SFTP客户端,还是用WinSCP访问,点击高级,指定私钥文件的路径,点击确定后登陆,大功告成。

6、报错处理:

(1)“拒绝访问”:

解决方式:服务端重启FreeSSHd,一定要右键以管理员身份启动。

(2)“Server refused public-key signature despite accepting key!”:

解决方式:一般是服务端的公钥文件缺失或者文件格式不对造成的,检查一下公钥文件放的位置是否正确,内容是否和当初生成的格式一致,文件名也必须与登录用户名一样,不能有后缀。

Windows 部署SFTP服务端相关推荐

  1. .net 部署到服务端IIS,Process调用exe程序无法运行问题解决

    场景: 开发某一功能将html内容转换为pdf,采用第三方插件wkhtmltopdf.exe进行转换.在本地调试正常运行,部署到服务端后文件没有正常生成. IIS中,Process打不开cmd程序,程 ...

  2. Linux部署SFTP服务

    Linux - 建设篇 第二章 Linux部署SFTP服务 Linux - 建设篇 系列文章回顾 下章内容 Linux虚拟机安装SSH服务 创建ftp所属组的用户,设置密码,创建用户家目录 修改ssh ...

  3. CentOS8上部署NFS服务端和客户端

    centos8上部署nfs服务端和客户端 文章目录 背景 服务端与客户端信息 配置服务端 安装软件包 编辑配置文件 验证并使配置生效 启动服务端服务 查看服务端状态: 配置客户端: 安装软件包 启动客 ...

  4. CentOS6.6部署VNC服务端

    为什么80%的码农都做不了架构师?>>>    VNC (Virtual Network Computer)是虚拟网络计算机的缩写.VNC 是在基于 UNIX 和 Linux 操作系 ...

  5. windows安装Oracle12 (服务端+客户端)

    目的: windows 系统下,实现: 1 多台机器之间的通信.如有四台机器且在一个子网内,要先把机器连起来,能够互相ping,然后继续后续 2 第二件事情,是搭建Oracle服务/客户端环境.为了更 ...

  6. ZeroTier部署moon服务端以及配置客户端

    服务端配置 1.安装ZeroTier并加入网络 moon也是要在你自己的网络里面,也就是说是你网络的moon. curl-s https://install.zerotier.com/ | sudo ...

  7. 部署FileZilla服务端与客户端

    FileZilla服务端下载地址: FileZilla服务端https://www.filezilla.cn/download/server FileZilla客户端下载地址: FileZilla客户 ...

  8. nagios系列(一)centos6.5环境部署nagios服务端

    nagios软件安装包存放目录:/home/oldboy/tools nagios服务安装目录:/usr/local/nagios 1.配置yum源 echo "------ step 1: ...

  9. windows版Rsync服务端和客户端cwRsync_4.1.0安装测试

    下载地址:https://download.csdn.net/download/qq_32421489/87463506 服务端安装: cwRsyncServer(服务端)配置步骤 1.双击运行wRs ...

最新文章

  1. iOS7导航栏和状态栏的定制
  2. Oracle使用手册(三)---存储过程与触发器
  3. CTO梁军离职,市值蒸发59亿,核心技术人才仅剩3人!寒武纪“动荡”的6周年
  4. 优先级队列(头条面试题)
  5. 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。...
  6. 前端学习(806):数据类型内存分配
  7. 【转】Power Platform(简介)
  8. 大数据之-Hadoop源码编译_编译hadoop源码前_需要准备的软件_以及编译步骤---大数据之hadoop工作笔记0045
  9. 梯度下降法理论与实践
  10. im源码 php,thinkphpim即时通讯源码
  11. matlab简单仿真机器人
  12. 第一弹app v2.30.0
  13. oracle数据存储层级
  14. 手机之家签名工具_自签工具更新 | 手机端自签,无需电脑,支持iOS 14 !
  15. 2008年金融危机的背后原因以及感悟
  16. 这样一张手绘说明书,我竟然调试通了,SYN8086TTS模块现场评测教学
  17. 手把手教你反编译小程序
  18. 电影票房排行 API数据接口
  19. 如何用Scrum做变革管理的落地实施
  20. 使用XMAPP搭建一个简单的服务器

热门文章

  1. 简信CRM分享:移动crm办公系统有哪些作用?
  2. 推荐系统 - DeepFM架构详解
  3. mysql delete limit用法_mysql delete limit 使用方法详解
  4. linux系统端口大全,Linux操作系统下各端口列表汇总篇
  5. java中集合遍历的几种方式
  6. PHP安装redis扩展
  7. RTMP交互数据记录分析
  8. git创建分支并切换分支命令
  9. MATLAB代码:基于主从博弈多虚拟电厂动态定价和能量管理
  10. 普通夫妻 VS 程序员夫妻 | 每日趣闻