我正在尝试使用批处理脚本从sftp站点下载文件.我收到以下错误:
Permission denied (publickey,password,keyboard-interactive).
Couldn't read packet: Connection reset by peer
Run Code Online (Sandbox Code Playgroud)
运行命令时:
sftp -b /home/batchfile.sftp <user>@<server ip>:<folder>
Run Code Online (Sandbox Code Playgroud)
在batchfile.sftp
包括这些数据:
password
lcd [local folder]
cd [sftp server folder]
get *
bye
Run Code Online (Sandbox Code Playgroud)
注意:在提示符下运行时它正在工作
sftp <user>@<server ip>:<folder>
Run Code Online (Sandbox Code Playgroud)
但我需要能够自动输入密码.
我想SSH
在脚本中使用,但是这个脚本不会在我的机器上执行.
在我的实现中有两个限制.
expect
因为我不知道它是否可以在这台机器上使用.public keys
为SSH
.有哪些可能的选择 - 解决方案?
如何在不添加额外依赖项的情况下以自动且安全的方式为ssh提供所请求的密码?
是否可以在脚本中提供密码?
谢谢大家 :)
我正在尝试编写一个脚本来备份SFTP上的文件.问题是,它需要密码,我看不到手动为SFTP指定密码.我听说过使用公钥不需要密码,但这需要能够ssh到远程服务器并修改一些配置文件,这是我无法做到的.
目前我的解决方案是使用cURL,但这是不安全的(使用普通的FTP).我也查看了该.netrc
文件,但这似乎是针对FTP而不是SFTP.如何手动为sftp指定密码?
我想将.png文件从我的计算机上的目录传输到远程服务器上的目录.
我必须使用SFTP来保护文件和传输模式.我已经有一个UNIX脚本(.ksh)文件来复制正常模式下的文件.如何在SFTP模式下实现传输?
我想自动化一个bash脚本,它使用sftp连接到服务器并进行文件传输.我有这个密码,最初我试过这个
sftp $acc@$host << EOF
<passwd_here>
cd $dir
get $file
quit
EOF
Run Code Online (Sandbox Code Playgroud)
但它仍然提示输入密码,我必须在提示时手动输入密码.
搜索完SO之后,我发现这个帖子有一个解决方案expect
,我试过,我得到了以下错误:
脚本:
sftp -b cmdfile.txt $acc@$host
expect "Password:"
send "<passwd>\n";
interact
Run Code Online (Sandbox Code Playgroud)
错误:
Permission denied (publickey,keyboard-interactive).
Run Code Online (Sandbox Code Playgroud)
cmdfile.txt
cd $dir
get $file
quit
Run Code Online (Sandbox Code Playgroud)
请告诉我,如何使用bash脚本中的密码进行连接?