Chinaunix首页 | 论坛 | 博客
  • 博客访问: 55280
  • 博文数量: 15
  • 博客积分: 365
  • 博客等级: 一等列兵
  • 技术积分: 170
  • 用 户 组: 普通用户
  • 注册时间: 2006-03-30 20:14
文章分类

全部博文(15)

文章存档

2011年(15)

我的朋友

分类: LINUX

2011-06-14 14:17:26

    1. more ssh_login.exp
    2. #!/usr/bin/expect -f
    3. set loginuser {root}
    4. set ip [lindex $argv 0]
    5. set pass {AAAAA}
    6. set timeout 300
    7. set cmd_prompt "]#|~]?"
    8. #-------------------------------------------------- login by ssh
    9. proc do_login {pass1} {
    10. set timeout 300
    11. set needPassword 0
    12. for {} {1} {} {
    13. expect {
    14. -re "#" { set timeout -1; return $needPassword }
    15. -re "assword:" { send "$pass1\r";set needPassword 1;continue}
    16. -re "yes/no" { send "yes\r"; set timeout -1 }
    17. eof { break }
    18. }
    19. }
    20. }
    21. proc do_exec_cmd {} {
    22. set timeout 300
    23. expect {
    24. #/root/check.sh check process script
    25. -re "#" { send "df -h\r";send "free -m\r";send "w w\r";send "sh /root/check.sh\r" }
    26. }
    27. }
    28. spawn ssh $ip
    29. set re1 [do_login $pass]
    30. if {$re1 == 1} {
    31. spawn scp /root/.ssh/id_rsa.pub /root/check.sh $ip:/root/.;
    32. do_login $pass;
    33. spawn ssh $ip cat /root/id_rsa.pub >> /root/.ssh/authorized_keys;
    34. do_login $pass;
    35. }
    36. spawn ssh $ip
    37. do_exec_cmd
    38. interact
    运行脚本 ./ssh_login.exp ip
阅读(537) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~