红联Linux门户
Linux帮助

分享一个ssh自动登录的脚本

发布时间:2011-05-28 01:36:19来源:红联作者:age
[i=s] 本帖最后由 age 于 2011-5-28 01:37 编辑 [/i]

主要是配合前面一个ssh -D翻墙的教程, 把username和yourpasswd换成你的用户名和密码.
加到开机启动程序里, 就可以自动输入密码登录ssh了, 不再需要人工参与[code]#! /usr/bin/env python2
#coding=utf-8

import pexpect
import re

port = "7070"
user = "username"
host = "216.194.70.6"
password = "yourpasswd"
cmd = "ssh -qTfnN -D " + port + " " + user +"@" + host
pattern = re.compile("^.*assword:\s*")
child = pexpect.spawn(cmd)
child.expect(pattern)
child.sendline(password)
child.expect(pexpect.EOF)[/code]
文章评论

共有 19 条评论

  1. afeikuo7 于 2012-07-18 09:27:39发表:

    学到了~

  2. wdk264 于 2012-07-13 12:11:33发表:

    受教了

  3. wulove 于 2011-12-20 21:34:57发表:

    新人出道,赚现金,下pdf学linux{:3_107:}

  4. 雾月O秋水 于 2011-12-20 10:13:48发表:

  5. zhj14007 于 2011-12-10 22:28:55发表:

    学习了

  6. 1152217987 于 2011-11-04 16:26:50发表:

    ddddddd

  7. findteam 于 2011-09-19 01:01:26发表:

    貌似在终端输入那个安装SSH的代码,不行啊。菜鸟啊,都说说第一个是怎么弄的。

  8. findteam 于 2011-09-19 01:00:47发表:

    不错。先顶,以后再看。

  9. wonderall 于 2011-08-17 09:18:00发表:

    长见识了 不错

  10. D调漫步 于 2011-07-23 12:11:10发表:

    支持

  11. lcy1216 于 2011-07-22 19:21:15发表:

    我不知道怎么加入到开机启动程序里 讲一下方法 我菜得很

  12. qq9293000079 于 2011-07-20 12:09:58发表:

    谢谢楼主分享,用用看

  13. taffy5366 于 2011-07-19 16:29:04发表:

    学习了

  14. jjunjoe 于 2011-07-11 16:04:21发表:

    支持,值得学习。

  15. ckf513728912 于 2011-07-01 21:31:48发表:

    感谢

  16. oohyoou 于 2011-05-28 21:16:10发表:

    拜模

  17. age 于 2011-05-28 11:40:22发表:

    引用:

    就是截取到password那个字符,然后发送密码
    那个expect不是很明白
    shenhao0129 发表于 2011-5-28 11:36


    前面都是一些变量定义, 主要是这几行
    child = pexpect.spawn(cmd)
    表示执行cmd这个进程, 并接收返回消息
    child.expect(pattern)
    expect方法表明了希望接收到的字符, 后面跟的pattern参数是一个正则表达式匹配, 当符合pattern时, 就会执行下一步. 在这里pattern就是匹配 password: 因为:后好像有空格, 我开始用字符串匹配一直匹配不上, 所以只好用正则表达式.
    child.sendline(password)
    将密码发送出去
    child.expect(pexpect.EOF)
    等待连接终止

  18. wangyu 于 2011-05-28 09:35:48发表:

    呵,13行后面大概都能猜出来了

  19. Inwind 于 2011-05-28 08:40:25发表:

    长见识了