作者/来源:yixinu.com
栏目:运维/编程
日期:2012-06-05 15:02:28
Steps:
1、编写 expect 脚本
[root@localhost ~]# vim auto.login #!/usr/bin/expect -f set user [lindex $argv 0 ] set ip [lindex $argv 1 ] set password [lindex $argv 2 ] set timeout 50 spawn ssh $user@$ip expect { "*yes/no" { send "yes "; exp_continue} "*password:" { send "$password " } } expect "]*" # send "touch test.txt " # send "exit " interact #expect eof
2、编写主机配置文件
[root@localhost ~]# vim host 1:root:172.24.0.3:centos ~
3、执行 gawk 脚本 登录到指定主机
[root@localhost ~]# gawk 'BEGIN{FS=":"; getline HOST < "/dev/pts/1"}$1~HOST {system("./auto.login "$2" "$3" "$4);}' ./host 1 spawn ssh root@172.24.0.3 root@172.24.0.3's password: Last login: Tue Jun 5 08:01:14 2012 from 172.24.0.2 [root@localhost ~]#
4、可以将上面的gawk语句写成一个bash执行文件
[root@localhost ~]# cat auto.login.sh #!/bin/bash gawk 'BEGIN{FS=":"; getline HOST < "/dev/pts/1"}$1~HOST {system("./auto.login "$2" "$3" "$4);}' ./host
5、执行 auto.login.sh , 输入 1 ,直接登录到了 配置文件中指定的主机
[root@localhost ~]# ./auto.login.sh 1 spawn ssh root@172.24.0.3 root@172.24.0.3's password: Last login: Tue Jun 5 08:10:59 2012 from 172.24.0.2