Putty保存密码,自动登录
2007-07-27 23:02
288 查看
官方版本的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
不过我们有时候确实希望有这个特性,特别是在公司内部的开发调试环境里面。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
相关文章推荐
- 修改PuTTY实现保存密码自动登录
- Putty保存密码,自动登录
- 让 Putty 保存密码,自动登陆的四种方法
- Putty使用帐号和密码的自动登录
- MSN(Windows Live Messenger)不能保存登陆记录 MSN不能自动登录.每次开机要重输用户名密码
- 清除自动保存的远程目录登录密码的方法
- 让 Putty 保存密码,自动登陆的四种方法
- asp.net利用cookie保存用户密码实现自动登录的方法
- 清除自动保存的远程机器登录密码
- ios-day13-01(私人通讯录。控制器之间的数据传递、保存密码和自动登录的实现、普通对象的归档、UITableView的局部刷新和向左滑动删除功能等等)
- PuTTY免输密码自动登录Linux
- iOS 开发 -- 使用KeyChain保存用户名、密码并实现自动登录
- Android实例demo6之界面登录、sharedperference、自动登录、保存密码
- Linux SSH 客户端保存密码 自动登录服务端
- SVN客户端(TortoiseSVN)保存密码自动登录后,如何切换使用其它帐户登录方法
- mstsc保存用户名和密码,实现自动登录远程桌面
- asp.net利用cookie保存用户密码实现自动登录的方法
- Windows硬盘映射网络磁盘目录,设置重启系统或开机后自动登录,保存用户名和密码
- mstsc保存用户名和密码,实现自动登录远程桌面
- 让 Putty 保存密码,自动登陆的四种方法