正好今天比较空闲,写了个expect的脚本。
脚本还有个缺点,服务器列表是数组,这样想删掉位于中间位置的服务器,就得重新编号,麻烦
另外请注意,密码以明文保存在文件中,注意保管脚本避免出问题!
用法:
1,如果没有安装expect,先
sudo apt-get install expect
2,然后建一个文件把下面的代码打进去
3,chmod 775 yourfile
代码: 全选
#!/usr/bin/expect
#
#用来快捷的SSH到服务器的懒人脚本
#@author 七分之雨后
#@email liang8305@gmail.com
#@version 0.1 2007/11/14
#
#
set SERVER(1) IP
set PORT(1) 端口
set USER(1) 用户名
set PASSWD(1) 密码
set SERVER(2) IP
set PORT(2) 端口
set USER(2) 用户名
set PASSWD(2) 密码
set SERVER(3) IP
set PORT(3) 端口
set USER(3) 用户名
set PASSWD(3) 密码
set SERVER(4) IP
set PORT(4) 端口
set USER(4) 用户名
set PASSWD(4) 密码
puts "选择你要登录的服务器\r"
set len [array size SERVER]
for { set i 1} {$i <= $len} { incr i} {
puts "$i.. $SERVER($i)\r"
}
expect_user -re "(.*)\n"
set sn $expect_out(1,string)
send_user "$sn\r"
send_user "\r"
spawn ssh $USER($sn)@$SERVER($sn) -p $PORT($sn)
set timeout 1
expect "*yes/no*" {
send "yes\r"
expect "*password:" {send "$PASSWD($sn)\r"}
}
expect "*password:" {
send "$PASSWD($sn)\r"
}
interact