Linux下默认自带SFTP服务,Windows需要自己安装SFTP软件来搭建服务,在免费的SFTP服务中,FreeSSHd是最好用的一个。
· 下载及安装
1) 下载地址:http://www.freesshd.com/?ctt=download,或者点击FreeSSHd.exe直接进行下载。
2) 安装过程:安装过程纯属傻瓜式,只需一直默认就可以。
· 配置详解
网上对于FreeSSHd的配置介绍不是特别详细,这里对FreeSSHd的每项配置进行详细解释。
1) 'Users’选项卡设置:
'Users’选项卡中提供了SFTP用户的维护功能,可以进行Add…(新建)、Change…(修改)、Remove(删除),点击Add…或Change…,会弹出‘sftp properties’进行用户信息维护。图中选择Password stored as SHA1 hash,即使用用户名和密码的方式进行认证。FreeSSHd共提供了NT authentication、Password stored as SHA1 hash、Public key(SSH only)三种方式,用户可以针对Shell、SFTP、Tunneling进行授权,也就说可以使用哪种功能。
① NT authentication:默认使用系统管理员的账号和密码。
② Password stored as SHA1 hash:自定义用户名和密码,密码以SHA1取hash方式存储。
③ Public key(SSH only):以公钥的方式登录,仅支持SSH。
**注意:**FreeSSHd对于用户的管理有点延迟或者说混乱,如果需要切换认证方式或者授权范围,最好是重启FreeSSHd进程,不要尝试修改用户,使用删除+新建的方式代替,然后启动服务,否则会出现类似’Permission denied, please try again.'等很多现象,混淆你解决问题的思路。
2) ‘Host restrictions’、‘Logging’、‘Online users’、'Automatic updates’选项卡设置:
① 'Host restrictions’选项卡用来配置SFTP服务访问的白名单和黑名单,可以设置多个,如果设置多个的话,每行写一个即可。
② 'Logging’选项卡用来设置FreeSSHd日志信息,相对比较简单,不做过多介绍。
③ 'Online users’选项卡用来监视SFTP服务连接情况,可以查看目前在线的用户,可以手动通过’Disconnect’强制关闭某个用户的连接。
④ 用来设置软件的更新方式,个人建议按照上图方式选择,不进行自动更新,这样可以避免由于软件版本差异出现的很多问题。
3) 'SSH’选项卡设置:
'SSH’选项卡提供了SFTP服务器的配置,Listen address、Port、Max number of connections、Idle timeout是对连接的设置,Banner message、Command shell是对命令行窗口的设置,RSA key、DSA key、ECDSA是服务器端秘钥相关设置,都指向安装目录下对应文件即可。
4) ‘Server status’、‘SFTP’、‘Telnet’、‘Authentication’、‘Encryption’、'Tunneling’选项卡设置:
① 'Server status’选项卡用来开启或关闭服务使用。
② 'SFTP’选项卡用来设置SFTP服务文件存储目录。
③ 'Telnet’选项卡用来对’Telnet’功能进行设置,一般在SFTP配置时不常用。
④ 'Authentication’用来设置认证的配置。
⑤ 'Encryption’用来设置密码算法,可供选择有很多种,一般情况下选择’Any’即可。
⑥ ‘Tunneling’:用来对’Tunneling’功能进行设置,一般在SFTP配置时不常用。
· 连接测试
服务启动之后,可以CMD命令行连接SFTP服务,命令格式:sftp 用户名@IP:PORT。
连接过程中可能会出现’Permission denied, please try again.'问题,此时需要逐项排查:
· 确认FreeSSHd以管理员方式启动。
· 对FreeSSHd用户进行重新设置:重新启动FreeSSHd进程,使用删除+新增操作代替修改用户操作,删除用户,然后新增用户并设置认证方式和权限等信息,最后启动服务。