Putty儲存密碼,自動登入

來源:互聯網
上載者:User
官方版本的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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.