我正在尝试编写一个脚本来自动从我的sftp服务器下载文件。当我在winscp.com
中使用以下命令时:
open user:password@sftpserver
我收到了:
拒绝访问。
手动登录时,相同的密码正常工作。
答案 0 :(得分:1)
这通常是由密码中的某些特殊字符引起的,session URL具有特定含义。
此类字符必须是URL编码的。例如,@
必须编码为%40
。
查看list of special characters that needs to be URL-encoded in WinSCP URL。
如果这没有帮助,enable logging对于脚本(/log
command-line switch)和手动登录都是如此。并比较日志。您还可以enable password logging查看用于身份验证的实际密码。
在WinSCP网站上还有一个涵盖Why I cannot connect/transfer using script, when I can using GUI?
的完整常见问题解答附注:您最好在URL中指定协议:
open sftp://user:password@sftpserver