您的位置:首页 > 运维架构 > Shell

linux shell ssh实现自动登录,并且执行一些操作并返回到当前主机

2015-03-01 00:48 726 查看
#!/usr/bin/expect -f

#-------------------------------------------------- about us

# product: monitorone

# Author:matthew

# Last Modified: xxx

# version:xxx

# user:this script will help you to monitor many linux(unix) machine

# license: this script is based GPL

set loginuser "user"

set loginpass {password}

set ipaddr [lrange $argv 0 0]

set timeout 300

set cmd_prompt "]#|~]?"

#-------------------------------------------------- login by ssh

spawn ssh $loginuser@$ipaddr

set timeout 300

expect {

-re "Are you sure you want to continue connecting (yes/no)?" {

send "yes\r"

} -re "assword:" {

send "${loginpass}\r"

} -re "Permission denied, please try again." {

exit

} -re "Connection refused" {

exit

} timeout {

exit

} eof {

exit

}

}

expect {

-re "assword:" {

send "$loginpass\r"

}

-re $cmd_prompt {

send "\r"

}

}

#---------------------------------------------------- now,we do some commands

#exec sleep 1

expect {

-re $cmd_prompt {

send "sudo su -\r"

send "touch /opt/2222222222222.c\r"

}

}

exit

interact
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: