Linux ssh下执行ssh命令远程登录其他机器,总是需要输入密码,如果人工去登录,输入密码那还可以,但是让程序自动化登录远程ssh服务器,并执行命令着就比较麻烦了
安装expect
centos安装: yum install expect -y
#!/usr/bin/expect
set timeout 120
spawn scp -r /tmp/file.txt [email protected]:/mnt/ccc/
expect {
"yes/no" {exec sleep 1
send "yes\r"; exp_continue}
password: {exec sleep 5
send "111111\r" ; exp_continue}
eof exit
}
注意: password: 后要有空格,如果没有空格会没有任何提示报错。
默认情况下 10 秒执行命令就会中断
set timeout 120 添加这一段时间会长很多
时间: 2024-10-06 18:52:34