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

使用PSCP带-pw选项仍遇Access Denied的自动化传输问题

解决PSCP使用-pw参数仍需手动输入密码的自动化传输问题

方法1:SSH密钥认证(最推荐,安全且稳定)

这是自动化文件传输的最优方案,彻底避免明文密码和交互输入:

  • 生成密钥对:运行Putty工具包中的puttygen.exe,点击"Generate"生成RSA/ED25519密钥对,可选择设置密钥保护密码(可选但建议),保存私钥为.ppk格式(比如D:\keys\my_ssh_key.ppk),复制公钥内容。
  • 配置远程服务器:登录远程服务器,将公钥内容追加到用户目录下的~/.ssh/authorized_keys文件中,确保该文件权限为600,.ssh目录权限为700(权限错误会导致密钥认证失败)。
  • 执行PSCP传输:
    pscp -i D:\keys\my_ssh_key.ppk D:\path\to\file.xlsx user@server123:/path/to/remote/directory
    

如果私钥设置了密码,可提前用pageant.exe加载私钥(双击.ppk文件即可),PSCP会自动读取已加载的密钥,无需手动输入密码。

方法2:修复-pw参数的传递问题

如果坚持使用密码认证,先排查PowerShell对密码的解析问题:

  • 若密码包含特殊字符(如$、&、空格),必须用单引号包裹密码,防止PowerShell解析特殊符号:
    pscp -pw 'myPass$123' D:\path\to\file.xlsx user@server123:/path/to/remote/directory
    
  • 也可以将命令写入.bat批处理文件执行,绕过PowerShell的参数解析干扰。

方法3:输入重定向传递密码(仅临时应急,安全性低)

如果无法配置密钥,可通过PowerShell管道直接传递密码,但密码会明文暴露在脚本中,不推荐用于生产环境:

"somepassword" | pscp D:\path\to\file.xlsx user@server123:/path/to/remote/directory

注意:该方式仅在远程服务器允许密码交互认证时有效,且密码不能包含换行符。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:50:50