Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Linux上自动执行SFTP/SSH提示_Linux_Ssh_Sftp - Fatal编程技术网

在Linux上自动执行SFTP/SSH提示

在Linux上自动执行SFTP/SSH提示,linux,ssh,sftp,Linux,Ssh,Sftp,我特别不熟悉shell脚本和ssh命令等。我想知道在从一台服务器上传/下载文件到另一台服务器时,是否可以自动执行简单的sftp提示 以下是我的工作: 命令:sftpusername@ServerHost 响应:无法确定主机“***”的真实性。 是否确实要继续连接(是/否) 在我输入“是”后,它会询问我密码 我基本上希望实现自动化,因为我将调用一个脚本,该脚本将通过源服务器上的InfoSphere Datastage序列作业将文件从源服务器上载到远程服务器 注:如果这个问题太幼稚,请原谅我的无

我特别不熟悉shell脚本和ssh命令等。我想知道在从一台服务器上传/下载文件到另一台服务器时,是否可以自动执行简单的sftp提示

以下是我的工作:

  • 命令:sftpusername@ServerHost
  • 响应:无法确定主机“***”的真实性。 是否确实要继续连接(是/否)
  • 在我输入“是”后,它会询问我密码
我基本上希望实现自动化,因为我将调用一个脚本,该脚本将通过源服务器上的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%*" 

切换到pubkey身份验证。是的,我也在这样做,这只是出于好奇,因为我知道这种方法不受欢迎