Putty,PuttyCM,WinSCP组合拳 ^^^^^^^^^^^^^^^^^^^^^^^^^^ - 作者:臭豆腐[trydofor.com] - 日期:2009-11-17 - 授权:署名-非商业-保持一致 1.0 协议 - 声明:拷贝、分发、呈现和表演本作品,请保留以上全部信息。 0. 文档目录 ^^^^^^^^^^^ [[<=$INDEX]] 1. 组合拳要求 ^^^^^^^^^^^^^ 1) 不修改服务器设置,显示日文。 2) 有标签和标签名,以避免窗口太多或选错服务器。 3) 自动登录,避免每次输入密码。 4) 免费,免安装,绿色,可移植。 5) 同一屏内,便捷的操作多个服务器。 6) 同时在多个服务器上执行同一个命令,或叫群发。 7) 服务器密码每30天变更,客户端可批量修改密码。 8) ssh和scp能够配合默契。 2. 核心拳术Putty ^^^^^^^^^^^^^^^^ 官方网站 http://www.chiark.greenend.org.uk/~sgtatham/putty/ 里面有段文字 "Links to related software and specifications elsewhere." 找到支持日文的修改版, http://hp.vector.co.jp/authors/VA024651/PuTTYkj.html 完成要求(1) 的要求,在session的设置是,选择/Window/Translation树中找到 "Received data assumed to be in which character set"下拉框并选择编码。 Putty还有很多修改版和其他应用,参考网上手册。 经常用的有,作为tunnel完成VNC连接。 3. 锦上添花PuttyCM ^^^^^^^^^^^^^^^^^^ 官方网站 http://puttycm.free.fr,可惜 GFWed,自行绕道或在文尾处下载。 完成要求(2)到(8)靠的全是它(PuttyCM 由C#编写,需要.NET Framework 2.0)。 3.1. 量产密码 ^^^^^^^^^^^^^ 1) 选择Database方式来保持连接信息,而不是putty的注册表形式。 在Connection Manager 窗口,右键选择"Create Database" 2) 建立一个测试的连接。 注意在"Connection"里选择 "Enable Login Macro mode",以自动登录. 3) Export XML文件。 菜单 Database/"Import and Export"/"Export ..." 选择 "Export passwords" 经过以上3步,我们可以得到xml格式的配置文件了。 ======================== xml:puttycm 配置文件格式 ======================== <?xml version="1.0" encoding="utf-16"?> <!-- ******************************************************************--> <!-- * *--> <!-- * PuTTY Configuration Manager export file - All right reserved. *--> <!-- * *--> <!-- ******************************************************************--> <!-- The following lines can be modified at your own risks. --> <configuration version="0.7.1.136" savepassword="True"> <root type="database" name="credit" expanded="True"> <container type="folder" name="SSH" expanded="True"> <connection type="PuTTY" name="10.4.5.241"> <connection_info> <name>10.4.5.241</name> <protocol>SSH</protocol> <host>10.4.5.241</host> <port>22</port> <session>Default Settings</session> <commandline /> <description /> </connection_info> <login> <login>shirj</login> <password>123456</password> <prompt /> </login> <timeout> <connectiontimeout>1000</connectiontimeout> <logintimeout>750</logintimeout> <passwordtimeout>750</passwordtimeout> <commandtimeout>750</commandtimeout> </timeout> <command> <command1 /> <command2 /> <command3 /> <command4 /> <command5 /> </command> <options> <loginmacro>True</loginmacro> <postcommands>False</postcommands> <endlinechar>10</endlinechar> </options> </connection> </container> <container type="folder" name="Telnet" expanded="True" /> </root> </configuration> ========================================================================= 根据xml格式,可以批量生产连接了,注意的地方有: * xml编码是utf-16,双字节,对控制台下的某些工具的可能失效。 * timeout 标签里的时间根据服务器响应时间调整一下,我这都改成了2000。 * Telnet 这个container 可以删掉。 等批量生产完xml配置文件后,回到PuttyCM,默认Database里的SSH分支删除。 然后,进入菜单Database,最后"Import ..."一下。 可以看到 Database中多了 Import分支,里面就是xml中的链接信息。 利用 container type="folder",可以生成目录结构,如下图所示。 [[<=./data/db-import.png]] 统计了一下,我能用的连接一共有121个,常用的有30多个。 服务器每30天修改服务器密码,当然各服务器密码相同。 如果手动修改,怎么也得小半天,现在只需要 查找替换和导入就可以了。 3.2. 自由分屏 ^^^^^^^^^^^^^ 经常面对几个窗口操作,分屏是很惬意的事情,方便而且很酷。 按住标准,拽到别的窗口,出现下图的样子,松手即可。 至于怎么用,拽拽就知道了。 [[<=./data/win-split.png]] 稍有遗憾的是,分屏窗口不能快速最大化,只能靠手拽调整视野。 3.3. 命令群发 ^^^^^^^^^^^^^ 这个功能(MCS)很实用,好久也没整明白,直到有一天发现了分屏。 选择窗口 [[<=./data/mcs-mwin-1.png]] 发送date命令 [[<=./data/mcs-mwin-2.png]] 3.4. 其他功能 ^^^^^^^^^^^^^ * connect external 用来在PuttyCM外部打开Putty窗口,也支持宏登陆。 * Dulpicate current tab 再自动登录一个,想象成session clone吧。 * Export putty sessons 从注册表中把Putty的信息拿出来。 * Post-login command 登陆后执行命令,比如设置语言环境。 4. 文件传输WinSCP ^^^^^^^^^^^^^^^^^ 官方网站 http://winscp.net/ 目前只能达到WinSCP到Putty的组合,而Putty到WinSCP不行。 使WinScp使用*.ini的配置,注册表不是好套路。 在Preferences找到“Preferences...”按钮,做两个重要修改。 * Storage/Configuration storage/INI file(winscp.ini) * Integration/Applications 指定putty.exe和记住密码选项。 有了INI我们就可以量产Session了,但是不能量产密码(目前不能简单解决)。 ini中有关Session的信息如下 =========================== txt: session 设置 =========================== [Sessions\(10.4.5.%2A)/root@10.4.5.242] HostName=10.4.5.242 Password=A35C4A51532084E88A06FED1C14E5562982E3333286D6C72687269726E686E366C6D1E1E102834C38332E65BAB5DC4A73A7A UserName=root ========================================================================= (10.4.5.%2A) 显示为目录"(10.4.5.*)" "*"进行了转义。注意 "\" 和 "/" 的区别。 Password 是加密的,因此不能简单的量产密码。 WinSCP可以Export ini配置文件,和导入putty在注册表中的Session。 高级功能和设置,还是查看手册吧。 5. 相关下载 ^^^^^^^^^^^ * PuttyCM v0.7.1 BETA (build 136) [[461K=> ./data/puttycm-0.7.1-b-136.zip]] * PuttyCS v1.8.1 对游离的Putty窗口群发命令 [[28K=> ./data/puttycs-1.8.1.zip]]