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

Windows系统下VS Code如何通过SSH实现文件自动上传部署

完全可以通过PowerShell或者npm工具实现自动上传,两种方案的可落地实现方法如下:

方案1:PowerShell 原生实现(无需额外安装依赖)

Win10 1809以上版本、Win11默认自带OpenSSH客户端,直接可以用scp命令实现上传,不需要额外装软件。

  • 基础单目录/文件上传命令示例:
    上传本地dist目录下所有文件到服务器/opt/app路径:
    scp -r ./dist/* root@192.168.1.100:/opt/app/
  • 免密配置:把本地C:\Users\你的用户名\.ssh\id_rsa.pub的内容,追加到服务器~/.ssh/authorized_keys文件中,后续上传不需要输入密码。
  • 自动化脚本编写:
    在项目根目录新建deploy.ps1文件,内容参考:
    # 自定义配置项
    $localPath = "./dist/*"
    $remoteUser = "root"
    $remoteIp = "192.168.1.100"
    $remotePath = "/opt/app/"
    
    # 执行上传
    scp -r $localPath "${remoteUser}@${remoteIp}:${remotePath}"
    Write-Host "✅ 所有文件上传完成"
    
  • 执行方式:
    项目目录打开PowerShell,执行./deploy.ps1即可。如果提示权限不足,管理员打开PowerShell执行Set-ExecutionPolicy RemoteSigned,选择Y确认后即可正常运行脚本。
    也可以把命令添加到package.json的scripts中:"deploy": "powershell ./deploy.ps1",后续直接执行npm run deploy即可触发上传。
方案2:npm 工具实现(适合前端项目,灵活度更高)

如果是前端项目,可以直接用npm生态的成熟SSH上传包实现,以下是scp2包的最简实现步骤:

  • 第一步:安装开发依赖
    npm install scp2 --save-dev
  • 第二步:根目录新建deploy.js配置文件,内容参考:
    const client = require('scp2')
    
    // 远程服务器配置
    const serverConfig = {
      host: '192.168.1.100',
      port: 22,
      username: 'root',
      // 认证方式二选一:密码 或 本地私钥
      // password: '你的服务器登录密码',
      privateKey: require('fs').readFileSync('C:/Users/你的用户名/.ssh/id_rsa')
    }
    
    // 执行上传
    client.scp('./dist/*', {
      ...serverConfig,
      path: '/opt/app/'
    }, err => {
      if (err) {
        console.error('❌ 上传失败:', err)
        process.exit(1)
      }
      console.log('✅ 所有文件上传完成')
    })
    
  • 第三步:配置执行命令
    在package.json的scripts字段中添加:
    "deploy": "npm run build && node deploy.js"
    后续执行npm run deploy就会自动完成项目构建、产物上传全流程。

注意:不要在代码中硬编码服务器密码,优先使用SSH私钥认证,避免敏感信息泄露

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 21:54:09