Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1842068
  • 博文数量: 38
  • 博客积分: 690
  • 博客等级: 中士
  • 技术积分: 3714
  • 用 户 组: 普通用户
  • 注册时间: 2012-06-27 14:06
文章分类

全部博文(38)

文章存档

2018年(8)

2016年(4)

2015年(2)

2014年(1)

2013年(3)

2012年(20)

分类: LINUX

2013-02-24 23:57:51

平时维护机器比较多时候,每登录一台需要输入密码,是无聊工作,这里有个常用的脚本,这里脚本网上比较多。

输入 expect go2.exp 192.168.1.104,也可以将 go2.exp 放在path路径下,输入更省事点

#!/usr/bin/expect

##author:stevenrao
##打开 ssh 终端,省去密码交互脚本 

if { $argc==0 } {
send "usage: $argv0 ip \[port\]\n";
exit
}
#要打开的远程机器ip 端口
set ip [lindex $argv 0]
set port 22
if { $argc==2 } {
set port [lindex $argv 1]
}

#日志文件,一ip为文件名
log_file $ip
log_user 1

#用户名密码
set user stevenrao 
set password stevenrao

#启动ssh登录进程
spawn /usr/bin/ssh -p $port $user@${ip}
set myid $spawn_id
set timeout 10


while { [string length $myid] } {

#提示符
set prompt "(%|#|\\$|>|\\])"
catch {set prompt $env(EXPECT_PROMPT)}

expect {
   "*tcsetattr failed*" {
	send_log "\n${ip},sshsyscallerror\n";
	break
	}
   "*Authentication failed*" {
	break
	}
   "*yes/no*" {
	send "yes\n"
	}
    "*password: " {
	send "$password\n"
	}
	timeout {
		send_log "\n${ip},logintimeout\n"
		exit
		}
      -re $prompt {
	set timeout 1
	send_log "\n${ip},loginsuccess\n"
	##登录成功,这里放你想要执行的交互脚本
	send "/bin/ls -l\n"
	interact;exit
	expect eof {
		send_log "eof\n"
		exit
		}
	}
	}
}

阅读(22241) | 评论(2) | 转发(9) |
给主人留下些什么吧!~~

aquester2013-06-16 16:57:47

心若寒江雪:请问一下你的背景里面左边的列表的背景颜色是怎么弄的,cu里的编辑器找了半天都没找到,多谢了

插入代码,自动的

回复 | 举报

心若寒江雪2013-05-21 15:45:51

请问一下你的背景里面左边的列表的背景颜色是怎么弄的,cu里的编辑器找了半天都没找到,多谢了