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。
最好和最简单的是使用scp
而不是sftp
.
如果scp
真的不是一个选项,您可以sftp
使用“此处文档”读取命令,但是很难围绕错误编写脚本。
sftp username@server << %EOF%
ls
bye
%EOF%
Run Code Online (Sandbox Code Playgroud)
%EOF%
可以是您想要的任何单词,只要它以 a 开头和结尾,%
并且最后一个%EOF%
必须在行首。
对于无密码登录,请阅读“ssh 密钥身份验证”。
使用sftp
从内ssh
会话听起来像矫枉过正,喜欢做的事情加倍的声音。为什么不从本地机器启动复制?