HOME 生活记录运维/编程
作者/来源: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


分享到:

Copyright © 2013-2014 yixinu.com 湘ICP备14004402号

QQ:316686606  Email: 316686606@qq.com