加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 16:51:26 所属栏目:安全 来源:网络整理
导读:我需要使用 sftp从Linux主机传输日志文件到远程主机。我已经从我的操作组提供了相同的凭据。但是,由于我没有控制其他主机,我不能生成和共享RSA密钥与其他主机。 所以有一种方法来运行sftp命令(提供用户名/密码)从Bash脚本通过一个cron工作? 我发现一个类
我需要使用 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
!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读