Linux编写Shell脚本利用expect实现免问答ssh登录服务器

Posted 白-胖-子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux编写Shell脚本利用expect实现免问答ssh登录服务器相关的知识,希望对你有一定的参考价值。

  • 脚本调用expect
  • 将脚本设置为开机运行,
  • 每次ssh登录相应服务器时,
  • spawn会监控到ssh动作,
  • 并匹配IPLIST,
  • 从而自动进行用户名密码及登陆后动作
#!/bin/bash
NET=10.0.0
user=root
password=timonium
IPLIST="
8
18
28
38
48
58
"
for ID in $IPLIST ;do
ip=$NET.$ID
expect <<EOF
set timeout 20
spawn ssh $user@$ip
expect {
"yes/no" { send "yes\\n";exp_continue }
"password" { send "$password\\n" }
}
expect "#" { send "sed -i 's/^SELINUX=enforcing/SELINUX=disabled/'
/etc/selinux/config\\n" }
expect "#" { send "setenforce 0\\n" }
expect "#" { send "exit\\n" }
expect eof
EOF
done

以上是关于Linux编写Shell脚本利用expect实现免问答ssh登录服务器的主要内容,如果未能解决你的问题,请参考以下文章

Shell编程之expect免交互

Expect 自动化控制和测试 Here Document 免交互 Linux- shell编程之免交互

Shell脚本------Expect(实现ssh服务免交互)

Shell编程——Expect免交互

Shell编程之Expect免交互语句详解

Shell脚本之Expect免交互