首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >sftp.exe、ftp.exe命令行对比,都不太好用,前者稍好些

sftp.exe、ftp.exe命令行对比,都不太好用,前者稍好些

原创
作者头像
Windows技术交流
发布2024-10-14 18:55:59
发布2024-10-14 18:55:59
2750
举报
文章被收录于专栏:Windows技术交流Windows技术交流

经验证,服务端配置openssh server,客户端用sftp.exe命令是可以操作的,也不用区分主被动模式,具有通用性,效率也高。

ftp.exe局限性太强,不推荐。

https://github.com/PowerShell/Win32-OpenSSH/releases

下载OpenSSH-Win64.zip

如果单纯只是用scp.exe 、sftp.exe等命令的话,其实只需要从openssh.zip里提权4个文件即可,亲测有效

目前2022 iis ftpserver,客户端用ftp.exe去访问,不论主被动模式报错信息都是:501 Server cannot accept argument.

从501这个代号看,应该是不支持主动模式,但是用quote PASV切换为被动模式仍然报这个错,同样的客户端机器换别的ftp客户端方式比如资源管理器、filezilla client等就正常,足见ftp.exe的局限性,也可以说是ftp.exe的bug。

openssh客户端命令(毕竟是开源编译的,对低版本系统兼容性一般,比如2012r2做客户端时,sftp.exe的conhost窗口可能会crash,我遇到2次)

用ftp.exe去访问,不论主被动模式报错信息都是:501 Server cannot accept argument.

我当时复现这个问题是因为我改了iis ftp server的默认21端口,改成了2121(当时我先配置的filezilla server占用了21,所以iis ftp server就改了端口)

后来我搞了一台2012R2,端口用2121的时候也复现501问题,端口用默认的21就不报501

ftp.exe命令行默认是主动模式,21端口连接的情况下,如果主动模式不行,试试quote PASV切到被动模式(我这次遇到的情况是:服务端配不配被动模式,客户端都只能主动模式才能成功,用quote PASV切换后都报425)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档