生成密钥文件 ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa
yum install expect
expect "*" 匹配所有,空行等等。
#!/usr/bin/expect
set ip [lindex $argv 0]
set pass [lindex $argv 1]
spawn ssh-copy-id -i /root/.ssh/id_rsa.pub $ip
expect {
"(yes/no)?" {
send "yes\n"
expect "password:" {
send "$pass\n"
}
}
"password:" {
send "$pass\n"
}
}
expect eof
chmod expect_l1.sh
./expect_l1.sh ip pass
注意,不是bash脚本,不能sh except_l1.sh
-----------------------------------
sudo
#!/usr/bin/expect
set timeout 10
spawn sudo -i
expect "*password*"
send "Tm121#^gnaM\n"
interact #执行完成后保持交互状态,把控制权交给控制台
命令行 expect -c "spawn sudo -i;expect "*password*";send "Tm121#^gnaM"\n;interact"