You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows环境下SFTP替代ftp -s脚本模式实现及客户端选型咨询

SFTP脚本化迁移及Windows Server 2012 SSH客户端适配方案

一、SFTP实现脚本化批量操作的方法

OpenSSH原生sftp没有和ftp -s完全一致的参数,但可以通过批处理模式参数实现同等效果,根据认证方式分两种实现路径:

1. 密钥认证(推荐,安全性更高)

  • 提前在Windows端生成SSH密钥对,将公钥上传至Unix服务器对应用户的~/.ssh/authorized_keys文件,配置服务器端.ssh目录权限为700、authorized_keys文件权限为600,即可实现免密登录。
  • sftp自带-b参数用于指定批处理脚本文件,和原有ftp -s逻辑完全对齐,命令格式如下:
sftp -b C:\yourpath\sftpFile.txt 用户名@服务器IP/域名
  • 对应的sftpFile.txt脚本可以直接复用原有逻辑,仅需要删除开头的用户名、密码两行即可,lcd、cd、get、put、quit等指令完全通用,示例如下:
lcd somepath/
cd someotherpath/
get test.xlsx
put report.docx
quit

2. 密码认证(适合过渡场景)

如果暂时无法切换密钥认证,需要保留密码写入逻辑,可以使用psftp工具实现,它支持直接在命令行传递密码+指定脚本文件,命令格式如下:

psftp 用户名@服务器IP/域名 -pw 你的密码 -b C:\yourpath\sftpFile.txt

脚本格式和上述密钥认证场景的脚本完全一致。


二、Windows Server 2012适用的SSH客户端选择

Windows Server 2012未预装官方SSH客户端,推荐两款兼容性和适配性都符合要求的工具:

  • PuTTY组件包:纯绿色单文件工具,无需安装,包含的psftp.exe可直接适配上述密码/密钥两种认证的脚本化流程,对老旧Windows系统适配性最好,改造成本最低。
  • Win32-OpenSSH便携版:微软官方发布的Windows平台SSH工具包,手动部署后可以使用原生sftp命令,语法和高版本Windows系统预装的SSH客户端完全一致,方便后续系统升级后脚本无需调整。

安全提示:在命令行或脚本中明文存储密码存在泄露风险,长期使用建议优先切换为SSH密钥认证方式。

内容的提问来源于stack exchange,提问作者canmurat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 15:24:05