scp结合expect脚本无法触发首次连接的主机密钥确认提示问题求助
scp结合expect脚本无法触发首次连接的主机密钥确认提示问题求助
我写了一个用scp和expect实现文件复制到远程服务器的脚本,内容如下:
#!/usr/bin/expect -f set port [lindex $argv 0] set file_to_send [lindex $argv 1] set login [lindex $argv 2]@[lindex $argv 3] set username [lindex $argv 2] set hostname [lindex $argv 3] set password [lindex $argv 4] set dest_folder [lindex $argv 5] spawn scp -P $port $file_to_send $login:$dest_folder expect { # this will loop forever # {*fingerprint*} # sleep 0.8 {Are you sure you want to continue connecting (yes/no/\[fingerprint\])?} { exp_send "yes\r" exp_continue } {password:} {send "$password\r"} } expect eof
我想要触发首次连接远程服务器时的初始提示,所以尝试过移除本地known_hosts文件里对应的密钥,甚至直接删掉整个known_hosts文件,但就是没法再弹出那个初始提示了。不过在另一台机器上这么操作是正常的,不管是移除对应密钥还是删掉整个文件,都能正常弹出首次连接的提示。
想请教一下这是怎么回事?我该怎么做才能触发我想要的那个提示?
我在三台机器上执行了grep -i StrictHostKeyChecking ~/.ssh/config /etc/ssh/ssh_config命令,输出结果如下:
grep: /home/ubuntu/.ssh/config: No such file or directory /etc/ssh/ssh_config:# StrictHostKeyChecking ask
备注:内容来源于stack exchange,提问作者CaTx
相关产品推荐
相关产品推荐

