PuTTY是所有类PuTTY或者其他相关程序的基础,它的更多信息请查看:PuTTY: a free SSH and Telnet client
KiTTY仅限于Windows用户使用,KiTTY的优势是:它可以执行PuTTY的所有任务,以及它自己收集的PuTTY缺少的特性。更多信息请查看:KiTTY, a free telnet/ssh client for Windows
cnKiTTY仅仅是KiTTY的中文版本,方便需要的人使用而已,更多信息请查看: cnKiTTY。对于使用过PuTTY的用户来说,使用KiTTY/cnKiTTY是毫无压力的。作为PuTTY的一个中文版本cnPuTTY 内置了中文版本的帮助手册,可以随时随地查看相关帮助说明,方便使用。这里只是简单对KiTTY/cnKiTTY不同于PuTTY/cnPuTTY的额外功能的使用进行补充说明,仅供参考。
首先KiTTY/cnKiTTY的使用可以参考cnPuTTY内置手册,毕竟它们都来自PuTTY。其次关于KiTTY/cnKiTTY的使用可以参考 KiTTY及cnKiTTY中新的可用命令行选项的简单注释,其中描述了基于PuTTY额外增加的一些命令;另外也可以参考 KiTTY及cnKiTTY配置文件kitty.ini的简单中文注释,通过修改KiTTY/cnKiTTY的配置文件来启用或者禁用一些功能,指定WinSCP、PSCP程序的路径和激活的快捷键等等。
除了上述这些参考信息以外,KiTTY/cnKiTTY在使用界面上也有一些与PuTTY/cnPuTTY不同的功能和选项可供用户使用,大致的参考如下:
1.会话面板中的代理选择设置
支持是否使用代理的快捷选择:
Session defined proxy: 使用会话设置中定义的代理
No proxy: 不使用代理
2.会话面板中的文件列表功能
以文件列表的方式提供对会话的分类管理,方便使用。
3.日志面板的时间戳使用
支持在日志输出中添加时间信息。
[%d/%m/%y-%H:%M:%S] 格式输出:[12/11/22-18:27:25]64 bytes from... ...
[ %s ] 格式输出:[ 1668248949 ]64 bytes from... ...
4.脚本面板设置对脚本的支持和使用
KiTTY使用RuTTY补丁来获得脚本支持,之前使用的补丁版本为version 0.14.08。RuTTY最新版本的补丁是version 0.15.00。我发现了这个变化,并提交了一个 Issues 到KiTTY的Github。目前KiTTY最新脚本补丁已经做了version 0.15.00的更新,但并不完全。因为RuTTY的补丁描述了新的版本具有发送和接收WM_COPYDATA消息的能力,可以使用任何支持发送和接收windows消息的脚本语言来编写脚本,扩充脚本支持和性能,获得更多的目标实现。例如RuTTY提供了一个使用AutoHotkey脚本语言实现的Rutty_AHK_Demo实例,通过脚本语言发送消息给会话窗口并获得会话窗口的回应信息。cyd01已经做了一个基于RuTTY 0.15的测试版,因为众所周知的原因我无法直接获得并帮助测试。不过相信用不了多久作者将会发布完全更新脚本功能的KiTTY。
在脚本面板可以进行如下设置:
脚本文件名:指定脚本文件的路径及文件名称,并选择启动会话时要执行的操作。
关闭:不使用脚本文件。
回放:重播脚本文件,文件必须是存在的。
录制:录制脚本文件,文件必须是不存在的。
线路延迟(ms):向主机发送脚本命令行之前的延迟,最小延迟为5ms。
字符延迟(ms):发送命令行的每个字符之间的延迟。
0 = 关闭,将命令行作为一条消息发送。
1 = 将每个字符作为单个消息发送。
> 1 表示延迟时间(毫秒)
注意:根据操作系统,有最小延迟,对于windows为10ms。
条件/注释行的开始:指定字符表示条件/注释行的开始。例如使用“:”则
:: 表示注释行。
: 表示条件行,如果启用则发送命令行之前,该行必须匹配。
该行下面一行的字符将作为命令将发送到主机。
CR/LF转换:文件中的行用LF分隔,然而在窗口中用CR/LF分隔。
在终端会话中,如果按“Enter”键,则会记录CR,
但在大多数情况下,CR/LF会发送到主机。
关闭 发送脚本文件中的行,包括LF结束。
no LF 从要发送的命令行中删除LF,录制时添加了一个LF,
以分隔文件中的行。注意:所有LF都将删除!
CR 用CR替换CR/LF。
如果使用linux风格的编辑器创建了一个脚本文件,
那么行尾只有一个LF,正常发送行到主机需要CR。
Rec 录制的脚本文件。
LF被记录为LFLF,CR被记录为CRLF,
CRLF被记为CRLFLF,CRLFLF也被转换为CRLF。
停止在:如果在主机响应中找到此行或其中一个关键词,则脚本回放将停止。
例如:
system has failed 如果此行与主机响应匹配,脚本将停止
"error" "ERROR" 如果其中一个关键词与响应匹配,脚本将停止。
注意:仅匹配第一次即退回,不是整行匹配。
等待主机响应:启用等待,以匹配提示信息。
第一个命令除外:在某些系统上,在给出提示之前,必须先发送几个CR。
使用文件中的条件:启用脚本文件中的条件行。
如果条件/注释行的开始使用“:”则:
在录制脚本时,主机响应的行,以“:”开头被记录为条件行。
在回放时,发送下一个命令行之前会等待相同的响应出现。
举例说明:
:c:\>
cd \myfolder
:c:\myfolder>
del *.obj
在发送cd \myfolder之后的主机响应不是c:\myfolder>,则停止脚本运行。
如果响应的结果为C:\MyFolder>,则脚本依旧停止运行。
条件可以是单个关键字或者一行的一部分,例如:"c:\myfolder>" "C:\MyFolder>"
如果脚本中的命令行之间没有条件,则将使用默认的“等待”
超时(秒):等待主机响应的时间(秒)。
等待:要等待主机响应的提示信息,并进行匹配,如果保留为空,则任何主机响应都可以。
也可以是其他提示,例如:
'OK' 使用调制解调器时的提示
'C:\>' 在DOS中的显示
"C:\>" "C:\myfolder>" 仅匹配第一次即返回,不是整行匹配。
已知的限制条件
— “停止在:”和“等待:”大小有限限制,最多256个字符
— 回放模式下,使用主机响应作为条件,仅使用最后256个字符,
除非对主机响应有意料,使用引号引用关键字的方式,则使用前256个字符。
已知的错误
— 在关闭会话时按下回车键之前,不会记录最后一行(在大多数情况下也不会发送到主机)
— 回放时键盘未锁定,特别是粘贴(用鼠标右键完成)很危险!!!
简单实例:
(1).使用脚本进行自动登陆的实例:
::登陆提示
:login
your_username
::输入密码提醒
:password
your_password
以上的简单内容在回放时,可以实现自动登陆而无需输入密码。
(2).确保命令完成的实例:
许多命令行,最快的命令需要10毫秒,最慢的需要2秒才能执行。
假设当前提示符为 "jack@debian:~$"
可以将线路延迟设置为2000ms。
或者启用“等待主机响应”,将当前提示符作为条件输入“等待”。
如果其中有一个命令会更改当前提示符,你可以将“等待”留空并设置一个最小线路延迟,如10ms。
也可以使用引用关键字的方式将两个提示符作为条件输入“等待”,如:"jack@debian:~$" "jack@debian:/home$"。
又或者,要确保cd /home切换成功,可以在脚本文件中输入条件:
...
cd /home
::下面的条件使脚本等待提示符更改完成
:jack@debian:/home$
...
编辑脚本文件
录制脚本时,是记录输入的内容,而不是发送给主机的内容。
录制以行为单位,当按下Enter键时,将记录Cariage Return,
添加LineFeed以标记行的结尾,并将该行存储在文件中。
回放时,以行为单位被读取,LF被移除,行内容被发送到终端。
注意:当按Enter键时,终端模拟器可能会向主机发送CR或CR+LF。
与回放相同,当向终端模拟器发送CR时,它可能会向主机发送CR或CR+LF。
使用linux风格的编辑器创建脚本文件,则在按Enter键时仅添加LF,
必须自己将CR放入文件中或更改“CR/LF转换”设置。
使用dos/windows编辑器按Enter键时,会将CR+LF记录在文件中。
请注意录制脚本时,CR被录制为CRLF,LF被录制为LFLF,CRLF被记录为CRLFLF。
【安全提醒】所有脚本的录制、使用、获取等操作请自行斟酌验证,避免错误的使用脚本带来不必要的问题和风险。错误的脚本执行可能会带来不可逆的后果,所以使用前应当充分检验、判断自己的使用。
5.使用滚轮控制窗口滚动
在窗口面板可以设置滚轮滚动的翻页方式。
6.外观面板对窗口位置和图标的控制
可以指定窗口的位置。可以自定义窗口的图标,默认使用内部资源0-50。0表示随机使用,或者直接指定图标标号。默认的内部图标来自可执行程序,也可以指定kitty.dll图标库作为图标来源,或者按需要自行生成个性的图标库,又或者直接指定单个图标文件使用。
7.背景图片面板设置
继续会话窗口的背景图片相关设置,包括类型、自定义图片,以及图片的放置方式等。
8.透明度面板
可以自由控制透明度的设置。
9.行为面板对窗口标题的自由设置
可以按照需要自定义设置窗口标题,提供一些可选的参数使用。文件夹名称是指会话面板中所属的文件夹名称。
10.超链接面板
可以设置超链接的下划线显示方式,如何激活超链接以及使用什么方式打开超链接,并且可以指定自己的超链接正则表达式。
11.端口试探功能
在连接面板中提供了端口试探功能。通过指定一系列包含端口、协议以及时间的组合序列来实现。例如:2001:tcp,1:s,2022:udp,TCP/UDP有效,"s"用于时间间隔的指定,逗号作为分隔。
12.数据面板的自动登陆设置
KiTTY除了可以支持在脚本界面使用脚本实现自动登陆外,还可以在数据面板直接设置自动登陆用户名和密码进行自动登陆,并且可以执行的指定命令或者脚本等相关内容。当然PuTTY支持的在SSH2协议下,使用私钥绕过身份验证的过程实现自动登陆的方法KiTTY同样支持。也就是说KiTTY至少提供了三者可行的方法实现自动登陆。
13.PSCP和WinSCP集成的相关设置
可以进行相关协议的选择并且支持PSCP和WinSCP使用参数的设置,同时配合kitty.ini的配置文件更加方便使用。配置文件可以指定相关程序的路径以及激活的快捷键等等。
14.注释界面
可以自定义会话的注释信息。
上述内容只是简单列举了在KiTTY/cnKiTTY主程序界面中可以看到一部分差异的说明。除了这些以外,还有更多的额外的KiTTY/cnKiTTY所特有的。比如一个KiTTY/cnKiTTY其实内部集成了密钥生成器以及身份代理程序,只用一个程序就可以完成PuTTY需要三个程序才能完成的工作。另外KiTTY/cnKiTTY还提供了很多细节上的使用优化,比如支持对话框的卷起;支持对当前会话的保护,防止重要会话被错误关闭或者被输入错误的内容;支持直接打印会话中剪切板的内容;内部还隐藏了一个文本编辑器等等。更多详细的内容请自行体验。
【重申】:本篇内容只是简单对KiTTY/cnKiTTY不同于PuTTY/cnPuTTY的额外功能的使用进行补充说明。使需要的人或者想要使用的人大致了解两者的区别,以及如何获得更多的使用帮助。每个人都有自己的选择,选择自己需要的才是正确地。
【责任声明】:本篇内容及其它相关内容遵从相同的原则,这个原则也同样来源和适用于cnPuTTY及cnKiTTY相关信息及内容。相关内容及发布与KiTTY、PuTTY遵从相同的发布许可,不提供任何保证、不承担任何责任。包括但不限于已发布内容、已知信息或者其他相关的信息,以及直接或者间接的其他任何未知的情况,均不提供任何担保、不承担任何责任。更多的其他信息请以相关网站的内容为准。所有的相关信息的获得和使用请自行验证和甄别,并自行承担相关责任。