暂停密码sftp bash脚本文件

时间:2013-06-14 09:43:54

标签: macos bash authentication sftp

我正在尝试编写一个脚本来自动将文件上传到sftp服务器。我的问题是身份验证。

  • 我知道无法在sftp的bash脚本中存储密码。
  • 我无法使用密钥,因为服务器的管理员不允许我。
  • 我不想使用任何额外的东西(sshpass / expect)因为我不能 保证它们将在我正在使用的机器上(需要脚本以便进程不会绑定到特定的机器上)。

手动输入密码不是问题我只需要让脚本等待用户输入密码。在我运行脚本的那一刻它打开终端,提示输入密码,但是当这个输入没有别的事情发生。如果我在正确上传所有内容后输入代码行手册。

#!bin/bash/
cd /remote_directory
lcd /local_directory
put some_file.txt

1 个答案:

答案 0 :(得分:1)

经过几个月的寻找答案,我终于找到了解决方案。它是在一个我甚至不记得的其他线程的答案评论中。希望这可以帮助其他人。

您的bash脚本应如下所示,并将连接到sftp服务器,提示用户输入密码,然后执行其余命令。

#!/bin/bash

sftp user@server <<!
cd /the/remote/directory
lcd /your/local/directory
put/get some.file
!