Macos 暂停获取密码sftp bash脚本文件

Macos 暂停获取密码sftp bash脚本文件,macos,bash,authentication,sftp,Macos,Bash,Authentication,Sftp,我正在尝试编写一个脚本来自动将文件上载到sftp服务器。我的问题是身份验证 我知道不可能在sftp的bash脚本中存储密码 我不能使用密钥,因为服务器管理员不允许我使用 我不想使用任何额外功能(sshpass/expect),因为我不能 保证它们将在我使用的机器上(需要脚本,这样进程就不会绑定到特定的机器上) 手动输入密码不是问题,我只需要让脚本等待用户输入密码。当我运行脚本时,它会打开终端,提示输入密码,但当输入密码时,不会发生其他任何事情。如果我在正确上传所有内容后输入代码行手册 #!b

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

  • 我知道不可能在sftp的bash脚本中存储密码
  • 我不能使用密钥,因为服务器管理员不允许我使用
  • 我不想使用任何额外功能(sshpass/expect),因为我不能 保证它们将在我使用的机器上(需要脚本,这样进程就不会绑定到特定的机器上)
手动输入密码不是问题,我只需要让脚本等待用户输入密码。当我运行脚本时,它会打开终端,提示输入密码,但当输入密码时,不会发生其他任何事情。如果我在正确上传所有内容后输入代码行手册

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

经过几个月的寻找答案,我终于找到了解决办法。这是在我记不起来的其他帖子中对答案的评论。希望这能帮助其他人

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

#!/bin/bash

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

sftpuser@server经过几个月的寻找,我终于找到了答案。这是在我记不起来的其他帖子中对答案的评论。希望这能帮助其他人

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

#!/bin/bash

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