如何从Bash脚本运行带有密码的sftp命令?

前端之家收集整理的这篇文章主要介绍了如何从Bash脚本运行带有密码的sftp命令?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要使用 sftp从Linux主机传输日志文件到远程主机。我已经从我的操作组提供了相同的凭据。但是,由于我没有控制其他主机,我不能生成和共享RSA密钥与其他主机。

所以有一种方法来运行sftp命令(提供用户名/密码)从Bash脚本通过一个cron工作?

我发现一个类似的Stack Overflow问题,Specify password to sftp in a Bash script,但没有满意的答案,我的问题。

除了使用公钥身份验证之外,还有其他一些选项:

>使用keychain
>使用sshpass(较不安全,但可能符合您的要求)
>使用expect(最不安全,需要更多编码)

如果你决定给sshpass一个机会,这里是一个工作脚本片段这样做:

export SSHPASS=your-password-here
sshpass -e sftp -oBatchMode=no -b - sftp-user@remote-host << !
   cd incoming
   put your-log-file.log
   bye
!

猜你在找的Bash相关文章