我对 shell 脚本和 ssh 命令等特别陌生。我想知道在将文件从一台服务器上传/下载到另一台服务器时是否可以自动执行简单的 sftp 提示。
这是我的做法:
- 命令:sftp 用户名@ServerHost
- 响应:无法确定主机“***”的真实性。 您确定要继续连接吗(是/否)?
- 在我输入"is"后,它会询问我密码
我基本上想自动执行此操作,因为我将调用一个脚本,该脚本将通过源服务器上的 InfoSphere Datastage 序列作业将文件从我的源服务器上传到远程服务器。
附言。如果这个问题太幼稚了,请原谅我的无礼:)
最佳答案
查看 expect,它有助于在脚本中自动处理此类问题。
这是一个适合我的示例:
#!/usr/bin/expect -f
set timeout 30
set user "coder"
set node "repohost"
set fsrc "/home/coder/Sources/sysperf/makefile"
set fdst "/tmp"
set uspw "topSecret"
spawn sftp $user@$node:$fsrc $fdst
expect_after eof {exit 1}
expect "$user@$node's password: " {send "$uspw\r"}
expect "*100%*"
关于linux - 在 Linux 上自动化 SFTP/SSH 提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35695451/