我正在尝试使用批处理脚本从sftp站点下载文件。我得到以下错误:
Permission denied (publickey,password,keyboard-interactive).
Couldn't read packet: Connection reset by peer
运行该命令时:
sftp -b /home/batchfile.sftp <user>@<server ip>:<folder>
batchfile.sftp
包括以下数据:
password
lcd [local folder]
cd [sftp server folder]
get *
bye
注意:当在提示符下运行时,它可以正常工作
sftp <user>@<server ip>:<folder>
但我需要能够自动输入密码。
发布于 2014-02-01 12:56:12
您需要安装sshpass程序。然后:
sshpass -p YOUR_PASSWORD sftp -oBatchMode=no -b YOUR_COMMAND_FILE_PATH USER@HOST
显然,最好是设置公钥身份验证。无论出于什么原因,只有在不可能做到的情况下才使用它。
发布于 2014-02-06 08:47:53
如果要生成一堆要运行的命令,然后从终端调用该脚本,则可以尝试执行以下操作。
sftp login@host < /path/to/command/list
然后,您将被要求输入您的密码(按照正常情况),但是脚本中的所有命令都会在这之后运行。
这显然不是一个可以在cron
作业中使用的完全自动化的选项,但它可以从终端使用。
发布于 2018-10-25 22:39:36
PSFTP -b path/file_name.sftp user@IP_server -hostkey 1e:52:b1... -pw password
文件内容为:
lcd "path_file for send"
cd path_destination
mput file_name_to_send
quit
要运行主机密钥,请执行以下操作:
psftp user@IP_SERVER
https://stackoverflow.com/questions/11738169
复制相似问题