我正在使用 key 身份验证,因此密码不是问题。我有一个我知道名字的文件,我只是想通过 sftp 将它发送到另一台机器。
我尝试搜索但无法在任何地方找到这个(看似简单的)问题。也许我今天的 Google-fu 只是让我失望了。
简而言之:我在本地机器上,想将文件 (test.txt) 发送到远程机器。已提供授权 key 。基本上我想自动化这三个步骤:
sftp root@remote:/root/dropoff
put test.txt
quit
是否有一个简单的 bash 命令可以用来自动执行此操作?我见过的唯一选择是使用 bash 脚本执行放置/退出并使用 -b 选项运行它。还有比这更干净的吗? (我对使用任何其他应用程序/工具不感兴趣。)
谢谢!
最佳答案
我知道这是旧的,但您也可以将参数传递给带有 Here Document 的命令
您可以将以下内容放入脚本中:
# The following is called a HERE document
sftp <user>@<remote> << SOMEDELIMITER
put test.txt
... # any commands you need to execute via sftp
quit
SOMEDELIMITER
每个额外的命令都将被输入到 <<
之前的命令中和 SOMEDELIMTER
可以是您想要的任何东西。
scp 是一个很好的选择,但是当我从 linux 推送到 windows 时,sftp 是我唯一能够工作的工具,而你在服务模式下使用 FreeSSHD 时遇到了困难!
关于file - SFTP 使用 bash 脚本发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11744547/