使用密码以非交互方式将文件上传到 sftp 服务器

使用密码以非交互方式将文件上传到 sftp 服务器

我知道这不是推荐的做法。但我别无选择:

我必须设置一个 cron 任务,定期将文件上传到外部 SFTP 服务器(没有可用的 FTP,而且我只有一个用户名/密码但没有钥匙

不过,我需要设置一个 cron,定期连接到该 sftp 并上传文件。

sftp <<EOF
放置文件名
出口
末梢血

因此将不起作用,因为 sftp 在评估 STDIN 之前要求输入密码。

我该怎么做才能将密码传递给 sftp?

再说一遍:我知道潜在的安全风险,但我真的别无选择,上传文件的服务器受到了相当好的保护。

答案1

SSH_ASKPASS环境变量指向在标准输出上打印出密码的自定义程序。

答案2

另一个选择是使用卷曲

curl -u user:password -T file.tar sftp://example.com/home/user/

相关内容