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

如何使用PowerShell将本地文件传输至SFTP服务器

PowerShell 基于SFTP协议传输文件操作指南

前置依赖安装

你之前用到的非标准cmdlet无响应,绝大多数是因为没有安装官方推荐的SFTP操作模块,首先执行以下命令安装Posh-SSH模块:

Install-Module -Name Posh-SSH -Scope CurrentUser

弹出权限确认时选择「Y」即可完成安装。

完整文件上传流程

  • 第一步:配置连接参数
# 替换为你自己的实际参数
$sftpHost = "远程服务器IP/域名"
$sftpPort = 22 # 自定义SFTP端口可修改
$userName = "SFTP登录账号"
$securePwd = ConvertTo-SecureString "SFTP登录密码" -AsPlainText -Force
$credential = New-Object System.Management.Automation.PSCredential ($userName, $securePwd)
  • 第二步:建立SFTP会话
# AcceptKey参数用于自动信任远程服务端SSH公钥,避免首次连接弹窗拦截
$sftpSession = New-SFTPSession -ComputerName $sftpHost -Port $sftpPort -Credential $credential -AcceptKey
  • 第三步:上传本地文件到远程路径
# 单文件上传
Set-SFTPItem -SessionId $sftpSession.SessionId -Path "C:\本地文件\完整路径\test.txt" -Destination "/远程服务器/目标存储路径/"

# 批量上传整个本地文件夹添加 -Recurse 参数即可
Set-SFTPItem -SessionId $sftpSession.SessionId -Path "C:\本地文件夹路径\" -Destination "/远程服务器/目标存储路径/" -Recurse
  • 第四步:操作完成后关闭会话
Remove-SFTPSession -SessionId $sftpSession.SessionId

常见失败排查点

  • 执行安装模块命令失败的话,先右键以管理员身份运行PowerShell再重试
  • 确认本地防火墙没有拦截22端口的出站请求
  • 确认远程服务器的SFTP服务正常运行,且账号有目标路径的写入权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.20 07:54:08