小编典典

如何使用 Bash 脚本中的密码运行 sftp 命令?

all

我需要使用sftp从 Linux
主机将日志文件传输到远程主机。我的操作组为我提供了相同的凭据。但是,由于我无法控制其他主机,因此我无法生成并与其他主机共享 RSA 密钥。

那么有没有办法通过cron作业sftp从 Bash
脚本内部运行命令(使用提供的用户名/密码) ?


阅读 67

收藏
2022-06-25

共1个答案

小编典典

除了使用公钥身份验证之外,您还有一些选择:

  1. 使用钥匙串
  2. 使用sshpass(安全性较低,但可能满足您的要求)
  3. 使用期望(最不安全且需要更多编码)

如果您决定给 sshpass 一个机会,这里有一个工作脚本片段可以这样做:

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