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
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值