Windows 部署SFTP服务端
需求:工作中需要接收外部机构的文件,要搭建一个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服务端相关推荐
- .net 部署到服务端IIS,Process调用exe程序无法运行问题解决
场景: 开发某一功能将html内容转换为pdf,采用第三方插件wkhtmltopdf.exe进行转换.在本地调试正常运行,部署到服务端后文件没有正常生成. IIS中,Process打不开cmd程序,程 ...
- Linux部署SFTP服务
Linux - 建设篇 第二章 Linux部署SFTP服务 Linux - 建设篇 系列文章回顾 下章内容 Linux虚拟机安装SSH服务 创建ftp所属组的用户,设置密码,创建用户家目录 修改ssh ...
- CentOS8上部署NFS服务端和客户端
centos8上部署nfs服务端和客户端 文章目录 背景 服务端与客户端信息 配置服务端 安装软件包 编辑配置文件 验证并使配置生效 启动服务端服务 查看服务端状态: 配置客户端: 安装软件包 启动客 ...
- CentOS6.6部署VNC服务端
为什么80%的码农都做不了架构师?>>> VNC (Virtual Network Computer)是虚拟网络计算机的缩写.VNC 是在基于 UNIX 和 Linux 操作系 ...
- windows安装Oracle12 (服务端+客户端)
目的: windows 系统下,实现: 1 多台机器之间的通信.如有四台机器且在一个子网内,要先把机器连起来,能够互相ping,然后继续后续 2 第二件事情,是搭建Oracle服务/客户端环境.为了更 ...
- ZeroTier部署moon服务端以及配置客户端
服务端配置 1.安装ZeroTier并加入网络 moon也是要在你自己的网络里面,也就是说是你网络的moon. curl-s https://install.zerotier.com/ | sudo ...
- 部署FileZilla服务端与客户端
FileZilla服务端下载地址: FileZilla服务端https://www.filezilla.cn/download/server FileZilla客户端下载地址: FileZilla客户 ...
- nagios系列(一)centos6.5环境部署nagios服务端
nagios软件安装包存放目录:/home/oldboy/tools nagios服务安装目录:/usr/local/nagios 1.配置yum源 echo "------ step 1: ...
- windows版Rsync服务端和客户端cwRsync_4.1.0安装测试
下载地址:https://download.csdn.net/download/qq_32421489/87463506 服务端安装: cwRsyncServer(服务端)配置步骤 1.双击运行wRs ...
最新文章
- python的image读取的图片是什么类型的-python如何实现读取并显示图片(不需要图形界面)...
- Codeigniter 获取当前的控制器名称和方法名称
- Netflix 工程师的生活 —— 40毫秒的案例
- mysql 5.6.16 log_mysql-5.6.16装配脚本
- outlook自动保存html,当创建一个新的HTML电子邮件时保持默认的Outlook格式
- MTK 驱动开发(37)--如何确定阻止进入suspend的原因
- Oracle 数据文件(Datafile ) 大小 限制 说明
- py 生产csv文件_数据处理技巧 | glob 被忽略的超强文件批量处理模块
- 力软新版APP上线,采用js语言,基于Vue.js和uni-app框架
- 计算机829大纲,829计算机基础考试大纲
- C++封装Mysql数据库
- TIDSP TMS320F28075 芯片串口烧录软件编写
- 网页对话框:window.showModalDialog的基本用法
- 三菱RS指令无协议通信功能概述
- mysql stmt attr set_mysqli_stmt::attr_set()
- 基于springboot的电影推荐网站管理系统
- 关于XDR的这些问题你都了解吗?
- Huawei 华为云 机器翻译调用 详解
- 打工人最怕听到的词是团建
- 计算机软件可以授予专利权吗,软件产品能申请专利吗?