linux - 在 Linux 上自动化 SFTP/SSH 提示

标签 linux ssh sftp

我对 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/

相关文章:

linux - jenkins build - 尝试执行包含 ssh 命令的 shell 命令

shell - 命令行 sftp : email address as username

linux - SFTP 适用于 bash 但不适用于 nologin

linux - 如何在 Ubuntu 上安装 Net::SFTP 模块?

c - 我如何告诉 gdb 显示装配线而不是源代码行?

java - 连续 `System.loadLibrary` 返回 `UnsatisfiedLinkError`

python - 如何在 ubuntu linux 8.04 上将 python 2.5.2 升级到 python 2.6rc2?

c++ - 带有 SDL 的对话框/消息框?

apache-spark - 如何在完成并关闭上下文后查看 Spark 作业的日志?

linux - 如何ssh运行tail然后将数据发送到mysql数据库