Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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 在执行scp命令时传递yes参数_Linux_Bash_Scripting_Scp - Fatal编程技术网

Linux 在执行scp命令时传递yes参数

Linux 在执行scp命令时传递yes参数,linux,bash,scripting,scp,Linux,Bash,Scripting,Scp,当我简单地运行这些命令时,我面临一个问题 远程服务器希望通过yes在RSA文件中添加密钥,因为第一次使用scp建立连接 命令如下所示 #!/bin/bash scp -P58222 root@IP:/root/K /N /usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }' send "yes\r" expect "$ " send "exit\r

当我简单地运行这些命令时,我面临一个问题

远程服务器希望通过
yes
在RSA文件中添加密钥,因为第一次使用
scp
建立连接

命令如下所示

#!/bin/bash

scp  -P58222 root@IP:/root/K /N
/usr/bin/expect -c 'expect "\n" { expect "Are you sure you want to continue connecting (yes/no)?" }'
send "yes\r"
expect "$ "
send "exit\r"
事实上,我在提问时必须在脚本中通过“是”


无法建立主机“ip地址(ip地址)”的真实性

RSA key fingerprint is xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Are you sure you want to continue connecting (yes/no)? 
是否确实要继续连接(是/否)

我怎样才能解决这个问题

scp -o  StrictHostKeyChecking=no
它仍然在问

scp -o StrictHostKeyChecking=no root@IP:/root/K 
显然,这不是一个非常安全的解决方案。在一个你不关心中间人的情况下工作。

< P>我的作品,

 yes | scp -r /opt/MyFiles root@<MyNewServerIP>:/opt/MyFiles
yes|scp-r/opt/MyFiles root@:/opt/MyFiles

问候=)

最好的方法可能是在scp命令之前使用以下命令:

ssh-keyscan-H${ssh\u-HOST}>~/.ssh/known\u-hosts


这将把SSH_主机添加到您已知的主机中,
scp
不会抱怨。将${SSH_HOST}替换为您试图连接的IP地址。

您只需将参数传递给SSH/scp,告诉它不要问这个问题;无需使用
expect
来编写答案脚本。也就是说,您要让它自动回答哪个特定问题?例如,如果是一个未知的主机密钥问题,这会有所帮助。具体来说,
scp-q
启用静默模式,不需要请求确认。实际上,当建立连接时,它显示无法建立连接,因为在键入“是”时未添加远程主机信息。它显示已成功添加的主机信息。我建议查看
-o
选项下的
man-scp
,查看ssh/scp选项的完整列表。根据您的设置,您可能需要另一个选项标志集。我正在检查它是否有用,但现在正在测试。。!!无法建立主机“ip地址(ip地址)”的真实性。RSA密钥指纹是xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx。是否确实要继续连接(是/否)?它仍然要求尝试将已知主机文件重定向到/dev/null:
scp-o UserKnownHostsFile=/dev/null-o strichostkeychecking=no
…这应该是可以接受的答案,因为我们没有禁用任何安全功能。。。