从 SFTP 获取文件并运行它的脚本

Nov*_*ser 2 scripting ssh sftp authentication

我们有 5 台服务器运行我们的代码:A、B、C、D 和 E。

从本地机器,我们将文件 sftp 到 A。然后

ssh id@A
su - applicationname
sftp id@A
get <file>
bye
tar -xzf <file>
logout
logout
Run Code Online (Sandbox Code Playgroud)

我们为其他 B 到 E 申请的程序相同。

有什么办法可以使用脚本来简化这个吗?

我们已要求 linux 团队提供无密码身份验证。但是我们不知道如何使用脚本在 SSH 会话中执行 sftp。

jip*_*pie 5

最好和最简单的是使用scp而不是sftp.

如果scp真的不是一个选项,您可以sftp使用“此处文档”读取命令,但是很难围绕错误编写脚本

sftp username@server << %EOF%
ls
bye
%EOF%
Run Code Online (Sandbox Code Playgroud)

%EOF%可以是您想要的任何单词,只要它以 a 开头和结尾,%并且最后一个%EOF%必须在行首。

对于无密码登录,请阅读“ssh 密钥身份验证”。

使用sftp从内ssh会话听起来像矫枉过正,喜欢做的事情加倍的声音。为什么不从本地机器启动复制?