zoukankan      html  css  js  c++  java
  • Putty保存密码,自动登录

    官方版本的putty是不支持保存密码和自动登录的,而且出于安全策略考虑,putty也不打算支持这个特性。
    不过我们有时候确实希望有这个特性,特别是在公司内部的开发调试环境里面。SecureCRT对emacs和gdb的支持不够好,putty 又不支持自动登录(有个用key自动登录的办法,太繁琐了,不好用),有点头痛。鱼和熊掌难道不能得兼?

    解决办法:自己修改putty,定制一个自己想要的版本。

    putty是开源的程序,我们可以从网上下载putty的完整源代码。下载地址为:http://www.tartarus.org/~simon/putty-snapshots/putty-src.zip

    压缩包解开之后,修改以下四个文件:putty.h, settings.c, config.c, ssh.c,
    仿照 config_tag::username[100]新增一个成员变量 config_tag::password[100]。

    以下是修改的难点提示:
    1、编译要用VS2003编译,虽然他给出的PUTTY.DSW看起来是VC6的项目。
    2、读写配置是在settings.c里面
    3、配置页面增加控件的方法:
            在config.c里面找个合适的位置添加以下代码
            ctrl_editbox(s, "Auto-login password", 'w', 50,
                 HELPCTX(connection_password),
                 dlg_stdeditbox_handler, I(offsetof(Config,password)),
                 I(sizeof(((Config *)0)->password)));
    4、"Open"按钮的调用入口
                sessionsaver_handler (这个入口和我们想做的修改无关,不过肯定每个看代码的人都想知道)
    5、登录过程的入口,这个是我们修改的重点
                 do_ssh2_authconn
                 这个函数很变态,看的人要有心理准备。这个函数长达1500行并且反复调用反复折腾。当然有我在,不用担心。找到“Plain old password authentication”,在其后判断一下ssh->cfg.password是否为空。如果不为空就表示读到了以前保存的密码,则用goto跳转到"Send the password packet."这块注释下面的代码那里。

    以上修改提示是给程序员看的。非程序员就免了吧。程序员读者有疑问,或者非程序读者想要定制版exe,都可以给我发邮件:wsq003 at gmail dot com
  • 相关阅读:
    Eclipse的自动排版设置(format)
    Java中" "表示几个空格
    cookie和session详解
    IO流操作详解
    springmvc常用注解标签详解
    mavenWeb工程建立步骤
    数据导出为excel表格
    Springmvc jar包介绍
    【初级算法】5.只出现一次的数字
    【初级算法】4.存在重复
  • 原文地址:https://www.cnblogs.com/hehe520/p/6330442.html
Copyright © 2011-2022 走看看