文章标题: windows 上搭建 sftp 服务器 - freesshd全过程
关键字 : freesshd
文章分类: 教程
创建时间: 2020年3月23日
- 缘由
- 动手
- 第一步:添加用户
- 第二步:设定ssh地址,选择本地IP地址
- 第三步:在SFTP选项卡中,选择SSH服务器默认路径
- 第四步:Authentication 中 Password authentication 一栏 要选择 Required ,否则客户端连接时输入密码总是错误
- server status 中 run ssh servers
- 推荐管理工具
- Windows最强ssh客户端推荐 —— Bitvise SSH Client
- 提示
缘由
Zoomla!逐浪CMS v8全面基于.net Core,需要支持linux,sftp显然是一个不错的选择。
linux 下 sftp 默认都会安装的, Windows 就没有了。网上搜的资料发现比较好用的是 freesshd,免费版中最好用的。
1,下载:http://www.freesshd.com/?ctt=download , 只下载 freeSSHd.exe 就可以了
2,安装:一路默认就可以了
3,设置:(网上资料不全,遇到的问题搜了好久也没个详细的信息,所以写篇博客记录)
特别说明一下,这里设置为密码登陆方式,而不用密匙方式,因为最近工作中在做 sftp 密码非交互式登陆
最近在使用vscode,其中FTP管理,要么是暗网式的管理,要么vscode-sftp工具则默认是sftp协议,于是只能动手部署了!
有朋友想知道sftp、ftp、ftp有什么区别,这里有一篇深度文章可以浏览,来自逐浪CMS发哥呕心之作:站长管理服务器必读:Ftp、Ftps与Sftp三兄弟的不同与区别以及部署全指引
https://www.z01.com/help/Cloud/3553.shtm
动手
SFTP 服务端工具CSDN下载:https://download.csdn.net/download/chang_chao_123/11175571
官方地址:http://www.freesshd.com/index.php?ctt=download
第一步:添加用户
第二步:设定ssh地址,选择本地IP地址
第三步:在SFTP选项卡中,选择SSH服务器默认路径
第四步:Authentication 中 Password authentication 一栏 要选择 Required ,否则客户端连接时输入密码总是错误
server status 中 run ssh servers
这里会遇到几个问题
1,提示私有秘钥没安装
安装时如果安装路径不是 C 盘的话 或 安装过程提示产生私有秘钥你却没做,请看以下安装目录freeSSHd下是不是只有 FreeSSHD,unins 4个文件
如果安装在C盘的话,当安装私有秘钥会多出这几个文件:
2,还会有遇到下面的问题,即ssh服务无法跑起来
请到进程中杀掉 FreeSSHDService.exe,然后到安装目录下 使用管理员权限运行 FreeSSHDService
OK,终于可以起来了
补充:
sftp [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
密码明明输入正确的,可能还会遇到上面的情况, rm -rf ~/.ssh 也不行的话, 就是因为 windons 上运行 freesshd 没以管理员权限运行了哦!!!
补充:Permission denied, please try again. , 有时候上面情况试过了,还会出现这样的话,看一下管理员权限默认起来的 ssh ip 是不是对的?如果不对,然后自己改动后点击应用是没有什么卵用的,还是连不上(奇葩bug真多)。这个时候呢,改到你需要的ip后,点击ok最小化界面,然后 unload freesshd, 再重新管理员权限启动,注意起来后默认的ssh ip 一定要是你需要的。
推荐管理工具
Windows最强ssh客户端推荐 —— Bitvise SSH Client
据说这是一个高富帅的SFTP管理工具:bitvise 。http://www.bitvise.com/ssh-server-users-guide
原名Tunnelier,解除它是因为为了sshFQ,没想到它既有SSH Terminal,又集成SFTP,还能FQ,功能一应区全。
还支持pem证书,回想最初使用putty,还要把pem证书进行转换才能使用。
另外,它的安装目录下还带有ssh命令行工具:
sftpc.exe是SFTP命令行
sexec.exe是远程执行指令
stermc.exe是ssh客户端
使用这些命令进行远程的SSH维护,避免了老是切换到Linux下进行的麻烦
提示
注意:设置的 sftp 根路径不要出现中文,会出错。
sftp端口默认是22
在windows 8以上操作系统中,请赋予程序管理员权限。