在windows上实现telnet, ssh等工具备几个方案能够选择, 本文总结了putty +
putty cm的方案, 而且简短地和
cygwin + console2方案作了一下比较. 因为putty的安装 配置比较简单, 本文主要讨论了Putty cm的配置和中文的支持. [目录] PuTTY和PuTTYCM.txt (Created by TxtBrowser) content 1. 简介 . 1.1 putty . 1.2 putty connection manager 2. putty 3 putty connection manager . 3.1 指定putty.exe的路径 . 3.2 建立一个数据库 . 3.3 connection(链接)配置 . 3.4 接下来是 login macro(登陆宏)配置: . 3.5 putty session(putty 会话)配置: . 3.6 让putty支持中文输入和显示 3. 用PuTTYcyg替代Windows命令行窗口做为cygwin的前端 figures 图1. PuTTY patch for Cygwin terminal 1. 简介 1.1 putty putty是一款运行在windows平台(貌似有其它平台上的?)上的ssh和telnet终端, 最初是由 simon tatham开发. putty是开源软件, 由志愿者团队维护. putty is an ssh and telnet client, developed originally by simon tatham for the windows platform. putty is open source software that is available with source code and is developed and supported by a group of volunteers. 1.2 putty connection manager putty connection manager 是一款很是棒的 putty 加强工具。它使用 putty 做为内核, 保持 putty 强大功能的同时,又增长了不少实用的功能. 经过它,能够实现 putty 自动 登陆, 多标签, 多级会话目录树存储等功能. wintricks的主页和下载地址为: http://puttycm.free.fr/. 相比于前面总结的cygwin + console2实现相似于gnome-terminal的方案, putty + putty cm的方案有如下缺点: * 只支持telnet和ssh两种工具 * 虽然支持多tab, 可是不支持快捷键在各TAB之间的切换(若是有这项功能而我没 有发现, 麻烦告诉一声), 而console默承认以用<Ctrl+数字>切换到相应的TAB, 并且支持定制, 我一般修改为<Alt+数字>. 优势有: * 本方案长于对于中文的支持 * 能够在本地保存telnet和ssh会话及其密码, 对于常用的地址, 不过每次都 敲命令, 这一点比较有吸引力. * 安装比较小, 不像cygwin动ze几百m, 这也是不少人不肯意安装cygwin的缘由. * 相比于前一方案, PuTTYCM的窗口能够最大化. 2. putty的安装和配置 putty的安装和配置貌似比较简单, 主要就是实现了telnet和ssh, 功能是有了, 不过仍是 比较验用的, 最好和putty connection manager配合使用. 3 puttycm的安装和配置 3.1 指定putty.exe的路径 第一次启动 puttycm 它会提示让你指定 putty.exe 的路径,以便它自动启动管理 putty 。须要注意的是,指定的 putty.exe 最好是官方原版的 3.2 建立一个数据库 puttycm 既能够直接使用 putty 中的会话设置进行链接,也能够在本身的链接库中管理 链接。推荐使用 puttycm 本身的链接库管理链接,由于它不只支持树形的目录管理,非 常方便,更支持自动登陆等高级功能. 使用 puttycm 本身的链接库管理链接很简单,首 先须要建立一个库。点菜单中的 file -> new -> database,在弹出的窗口中输入库的名 字。以后点 create database。 3)此时在主界面的右边就能够看到建立的链接库了,默认的它会创建两个目录 ssh 和 telnet,咱们能够直接使用这两个目录,或者本身添加目录。添加目录 很简单,在库名(my connections)或者目录名上点右键 new -> folder 以后 输入本身想要的文件夹名字就能够了。(你们可能会发现库名的右边有个星号 “ *”,这表示你的链接库存在没有保存的数据) 3.3 connection(链接)配置 比较简单,分别填上name(链接的名字)、host(服务器地址)、protocol(协议)、 port(端口)、enable login macro mode(是否使用登陆宏模式)和 description(连 接描述)就能够了。是否使用登陆宏这个选项是否选中就看你们本身的须要了,若是选中 的话第二个选项卡(login macro)中的选项才能够修改。 3.4 接下来是 login macro(登陆宏)配置: 咱们能够在这里配置自动登陆、登陆以后须要自动执行命令等。 从上到下的配置选项分 别是: * login 登陆用户名 * password 登陆密码 * connection 链接上服务器以后、自动输入用户名以前的延迟时间 * login 自动输入完用户名以后、自动输入密码以前的延迟时间 * password 自动输入完密码以后、执行第一个登陆自动命令以前的延迟时间 * command 每一个登陆自动命令之间的延迟时间 * enable post-login commands 是否开启登陆以后自动执行命令功能。若是开 启就能够设置 5 个自动命令。 * command 1-5 登陆以后自动执行的命令,一共能够设置 5 个。 实际上 puttycm 的自动登陆和登陆以后自动执行的命令是采用模拟键盘输入的方式进行 的,因此正确的设置延迟时间是很是重要的。若是服务器的链接速度很快,咱们能够把各 个延迟时间设置的短一些,而若是服务器链接速度比较慢的话,咱们必须把延迟时间设置 的长一些,以保证在 puttycm 在帮你自动输入那些数据的时候,服务器也正好处于等待 输入的状态,不然可能会出现“答非所问”的状况。 3.5 putty session(putty 会话)配置: 只有两个须要配置的选项。 第一个是 session (使用的 putty 的会话设置),因为 puttycm 实际上仍是使用 putty,并且 puttycm 只能自定义少数几个 putty 的设置,而绝大部分仍是使用 putty 本身的会话设置。因此在这里必须选择一个有效的 putty 会话设置。在这里 puttycm 会 读出全部 putty 的会话设置供你选择(因此最好使用原版的 putty,若是是修改版的话 puttycm 可能没法读出会话设置)。 第二个是附加给 putty 的其余命令行启动参数。若是没有须要附加的话留空便可。 3.6 让putty支持中文输入和显示 对于常常在windows下远程ssh到linux的用户而言,putty多是你最好的选择。 但是缺省状况下,putty对中文的支持却让人不敢恭维,若是远程linux的locale设置为 zh_cn.*(bg2312,gbk,utf8等等),显示就是乱码。经研究发现,其实putty的中文支持还 是很好的,呵呵 打开putty主程序,选择window-〉appearance-〉font settings-〉change...,选择 fixedsys字体,字符集选择chinese_gb2312。在window-〉appearance-〉translation中, received data assumed to be in which character set 中,把use font encoding改成 utf-8. 若是常用,把这些设置保存在session里面. 如今打开putty,登陆成功后,在shell中输入:export lc_all='zh_cn.utf8',如今已经能够 完美的支持中文了 [微笑] 能够打开vim输入中文测试一下,并且也不会出现删除半个汉字的问题. 4. 用PuTTYcyg替代Windows命令行窗口做为cygwin的前端 [注]: 这个部分我没有用过, 为了文章的完整性从参考资料[3]摘录于此. 平时用惯了 Linux 下的各类终端窗口软件,回到 Windows 面对那个 command prompt 总 是不太舒服。今天在网上发现了一个 PuTTY patch for Cygwin terminal,又称 PuTTYcyg ,配合 Cygwin 的命令行界面,用起来还算不错。在这个组合里,用鼠标就能够完成 copy-paste,窗口能够放大到全屏而不像 command prompt 那样只能加高不能拉宽。 [http://www.flickr.com/photos/carlosliu/33860490/] 图1. PuTTY patch for Cygwin terminal 使用方法很简单:在 Host Name 里填入一减号,在 Protocol 里选 Cygwin 便可。若是想 一键启动 puttycyg,只要将这个设置存成名为 cygwin 的 session,再将 cygwin 的启动 快捷图标里的 C:\cygwin\cygwin.bat 改为 puttycyg.exe -load cygwin 就好了。