PuTTY用户手册(六)

4.11选择面板(selection)

选择面板允许您在PuTTY窗口中控制复制和粘贴工作的方式。

4.11.1粘贴富文本格式

如果你启用了“粘贴到剪贴板的RTF以及纯文本”,PuTTY将写格式化信息到剪贴板以及你复制的实际文本。
这样做的效果是,如果您将文本粘贴到(比方说)一个字处理器中,那么文本将以PuTTY用于显示它的相同字体、颜色和样式(例如粗体、下划线)出现在字处理器中。

这个选项很容易造成不便,因此默认情况下禁用它。

4.11.2改变鼠标按钮的动作

如果你启用了“粘贴到剪贴板的RTF以及纯文本”,PuTTY将写格式化信息到剪贴板以及你复制的实际文本。
这样做的效果是,如果您将文本粘贴到(比方说)一个字处理器中,那么文本将以PuTTY用于显示它的相同字体、颜色和样式(例如粗体、下划线)出现在字处理器中。
这个选项很容易造成不便,因此默认情况下禁用它。
缺省情况下,PuTTY的复制和粘贴机制是基于Unix xterm应用程序建模的。
X窗口系统使用三个按钮的鼠标,约定是左按钮选择,右按钮扩展现有的选择,中间按钮粘贴。

Windows通常只有两个鼠标按钮,因此在PuTTY的默认配置(“Compromise”)中,右按钮粘贴,中间按钮(如果有的话)扩展一个选择。

如果你有一个三按钮的鼠标,你已经习惯了xterm的安排,你可以使用“鼠标按钮的动作”控件来选择它。

或者,选择“Windows”选项后,中间的按钮会扩展,右边的按钮会弹出一个上下文菜单(其中一个选项是“Paste”)。
(无论该选项的设置如何,只要按住Ctrl并右键单击,这个上下文菜单总是可用的。)

4.11.3"Shift覆盖应用程序的鼠标使用"

PuTTY允许服务器发送控制代码,使其接管鼠标并将其用于复制和粘贴之外的其他用途。
使用此功能的应用程序包括文本模式web浏览器链接、Usenet newsreader trn version 4和文件管理器mc (Midnight Commander)。

在运行这些应用程序之一时,按下鼠标按钮不再执行复制和粘贴。
如果你确实需要复制和粘贴,你仍然可以这样做,如果你按住Shift当你做你的鼠标点击。

然而,理论上应用程序甚至可以检测和使用Shift +鼠标点击。
我们不知道有哪个应用程序会这样做,但如果有人写了一个,取消勾选“Shift覆盖应用程序的鼠标使用”复选框也会导致Shift +鼠标点击到服务器(这样鼠标驱动的复制和粘贴将完全禁用)。

如果您想要完全防止应用程序接管鼠标,您可以使用Features control面板;
见4.6.2。

4.11.4默认选择模式

如3.1.1节所述,PuTTY有两种模式选择要复制到剪贴板的文本。
在默认模式(“正常”),从A点到B点拖动鼠标选择行包含一个结束,所有的线之间,从一开始的行包含B .在其他模式(“矩形块”),拖动鼠标两点之间定义了一个矩形,矩形内,一切都是复制。

通常,你必须按住Alt键同时拖动鼠标来选择一个矩形块。
使用“default selection mode”控件,您可以将矩形选择设置为默认,然后您必须按住Alt键以获得正常的行为。

4.11.5逐字配置选择

如果双击开始拖动,PuTTY将在终端窗口中每次选择一个单词。
这个面板允许您精确地控制什么被认为是一个单词。

每个字符都有一个类,这个类是一个很小的数字(通常是0、1或2)。
因此,通过修改给类分配的字符,您可以修改逐字选择行为。

在默认配置中,字符类为:

类0包含空白和控制字符。
第1类包含大多数标点符号。
第2类包含字母、数字和一些标点符号(双引号、减号、句号、斜杠和下划线)。
例如,如果将@符号分配到字符类2中,只需双击即可选择电子邮件地址。

为了调整这些赋值,首先在列表框中选择一组字符。
然后在下面的编辑框中输入一个类号,并按下“set”按钮。

这种机制目前只覆盖ASCII字符,因为无法将列表扩展到整个Unicode。

可以通过服务器发送的控制序列修改字符类定义。
此配置选项控制默认状态,在重置终端时将恢复该状态(请参见3.1.3.6节)。
但是,如果您在会话中使用“change settings”修改此选项,它将立即生效。

4.12颜色面板

颜色面板可以让你控制PuTTY的颜色使用。

4.12.1"允许终端指定ANSI颜色"

默认情况下启用此选项。
如果禁用,PuTTY将忽略服务器发送给请求彩色文本的任何控制序列。

如果您有一个特别花哨的应用程序,您可能想要关闭这个选项,使PuTTY只使用默认的前景和背景颜色。

4.12.2"允许终端使用xterm 256- color模式"

默认情况下启用此选项。
如果禁用,PuTTY将忽略服务器发送的使用最新版本xterm支持的扩展256- color模式的任何控制序列。

如果你有一个应该使用256色模式的应用程序,但它不工作,你可能会发现你需要告诉你的服务器你的终端支持256色。
在Unix上,您可以通过确保TERM的设置描述一个支持256种颜色的终端来实现这一点。
可以使用infocmp这样的命令来检查:

$ infocmp | grep colors
        colors#256, cols#80, it#8, lines#24, pairs#256,

如果在输出中没有看到“color #256”,您可能需要更改终端设置。
在现代Linux机器上,您可以尝试“xterm-256color”。

4.12.3"通过更改…来指示粗体文本"(Indicate bolded text by changing)

当服务器发送一个控制序列,指示一些文本应该以粗体显示时,PuTTY可以以几种方式处理这个问题。
它可以将字体改为粗体,也可以使用相同的字体,但颜色更亮,或者两者兼而有之(使颜色更亮,字体更醒目)。
这个控件允许您选择其中一个。

默认情况下,粗体是由颜色表示的,因此非粗体文本显示为浅灰色,粗体文本显示为亮白色(以及类似的其他颜色)。
如果您将设置更改为“字体”框,粗体和非粗体文本将以相同的颜色显示,而字体将更改以指示差异。
如果选择“Both”,字体和颜色都会改变。

一些应用程序依赖于“粗体黑色”与黑色背景的区别;
如果你选择“字体”,他们的文字可能会变得不可见。

4.12.4"尝试使用逻辑调色板"(Attempt to use logical palettes)

逻辑调色板是一种机制,通过它,运行在8位彩色显示器上的Windows应用程序可以精确地选择它想要的颜色,而不是使用Windows标准默认设置。

如果在8位显示中没有得到所需的颜色,可以尝试启用此选项。
然而,请注意,它从来没有很好地工作。

4.12.5"使用系统颜色"

启用此选项将导致PuTTY忽略“默认背景/前景”和“光标颜色/文本”的配置颜色(参见4.12.6节),而使用系统范围的默认设置。

请注意,如果启用此选项,非粗体文本和粗体文本的颜色将相同。
您可能希望更改为通过字体更改来指示粗体文本(请参见4.12.3节)。

4.12.6调整终端窗口的颜色

主颜色控件允许您精确地指定应该显示的颜色。
要修改其中一种PuTTY颜色,请使用列表框选择要修改的颜色。
该颜色的RGB值将出现在列表框的右侧。
现在,如果你按下“修改”按钮,你会看到一个颜色选择器,你可以选择一个新的颜色来代替旧的颜色。
(如果您愿意,也可以直接在编辑框中编辑RGB值;
每个值是从0到255的整数。

PuTTY允许您设置光标颜色、默认前景和背景,以及所有ANSI可配置颜色(黑色、红色、绿色、黄色、蓝色、洋红、青色和白色)的精确阴影。
您还可以修改用于这些颜色的粗体版本的精确色调;
如果您选择用颜色来显示粗体文本(请参见第4.12.3节),那么可以使用它们来显示粗体文本,如果服务器要求特别使用它们,也可以使用它们。
(请注意,“默认粗体背景色”不是用于粗体文本的背景色;
仅当服务器特别要求粗体背景时才使用。)

4.13连接面板

连接面板允许您配置应用于多种连接类型的选项。

4.13.1使用keepalive防止断开

如果您发现会话在空闲一段时间后意外关闭(最常见的情况是“通过对等点重置连接”),您可能希望尝试使用此选项。

一些网络路由器和防火墙需要跟踪通过它们的所有连接。
通常,如果在特定的时间间隔后没有数据向任意方向传输,这些防火墙将假定连接是死的。
如果在一段时间内会话中没有看到流量,这可能导致防火墙意外关闭PuTTY会话。

keepalive选项(’ keepalives之间的秒数’)允许您配置PuTTY以一种不破坏实际终端会话的方式,以定期通过会话发送数据。
如果您发现防火墙正在切断空闲连接,可以尝试在该字段中输入非零值。
数值以秒为单位;
例如,如果防火墙在10分钟后切断连接,那么您可能希望在框中输入300秒(5分钟)。

注意,keepalive并不总是有用的。
如果你的防火墙在空闲一段时间后断开了你的连接,它们就会有帮助;
但是,如果您和服务器之间的网络连接中断,那么keepalives实际上会使情况变得更糟。
如果会话是空闲的,并且端点之间的连接性暂时丢失,但是在任何一方尝试发送任何东西之前,连接性都被恢复,那么就不会出现问题——任何端点都不会注意到任何错误。
然而,如果一方在中断期间发送了某些内容,它将反复尝试重新发送,最终放弃并放弃连接。
当连接恢复后,另一方会发现第一方不再相信有开放连接。
Keepalives会使这类问题变得更糟,因为它们增加了在连接中断时PuTTY尝试发送数据的可能性。
(其他类型的周期性网络活动可能导致这种行为;
特别是,SSH-2重键可以产生这种效果。
见部分4.19.2。)

因此,您可能会发现keepalives有助于连接丢失,也可能会发现它们使连接丢失变得更糟,这取决于您和服务器之间存在何种网络问题。

仅在Telnet和SSH中支持Keepalives;
Rlogin和原始协议无法实现它们。
(另见第4.13.3节。)

请注意,如果您使用的是SSH-1,而服务器有一个错误,使它无法处理SSH-1忽略消息(请参见4.27.1节),启用keepalives将不会有任何效果。

4.13.2"禁用Nagle’s算法"

Nagle的算法是TCP/IP实现的一个细节,该实现试图最小化通过网络连接发送的小数据包的数量。
启用了Nagle的算法后,PuTTY的带宽使用将略微提高效率;
禁用它后,您可能会发现,在连接到某些类型的服务器时,您可以更快地响应击键。

对于交互式连接,默认情况下禁用Nagle算法。

4.13.3"启用TCP keepalives"

注意:TCP keepalives不应该与第4.13.1节中描述的应用层keepalives混淆。
如果有疑问,您可能想要应用程序级的保存;
TCP保持器是为了完整性而提供的。

TCP keepalives的概念类似于应用程序级的keepalives,也适用相同的警告。
主要区别是:

  • TCP keepalives可用于所有连接类型,包括Raw和Rlogin。
  • TCP保持生命的间隔通常要长得多,通常是两个小时;
    这是由操作系统设置的,不能在PuTTY中配置。
  • 如果操作系统没有收到对keepalive的响应,它可能会连续快速发送更多的消息,如果没有收到响应,则终止连接。
    TCP keepalives在确保半打开的连接终止时可能比保持连接活动时更有用。

TCP keepalives在默认情况下是禁用的。

4.13.4"互联网协议"

这个选项允许用户在新旧互联网协议和寻址方案(IPv4和IPv6)之间进行选择。
所选协议将用于大多数出站网络连接(包括到代理的连接);
然而,隧道有它们自己的配置,参见4.26.2节。

默认设置是“Auto”,这意味着PuTTY将执行一些合理的操作,并尝试猜测您想要的协议。
(如果您指定了一个文字Internet地址,它将使用该地址所暗示的任何协议。
如果您提供一个主机名,它将看到该主机名存在哪些类型的地址;
如果IPv6地址可用,它将使用IPv6;如果没有可用地址,它将使用IPv4。)

如果需要强制PuTTY使用特定的协议,可以显式地将其设置为“IPv4”或“IPv6”。

4.13.5"远程主机的逻辑名称"

这允许您告诉PuTTY,它真正要连接的主机与它认为正在进行网络连接的主机是不同的。

您可以使用,例如,如果你建立了一个SSH端口转发PuTTY的一个会话上,以便连接到任意端口(如,本地主机端口10022)转发到另一台机器上的SSH端口(比如foovax端口22),然后开始第二个PuTTY连接转发端口。

在正常使用中,第二个PuTTY将访问主机名下的主机键缓存和它实际连接的端口(即本例中的localhost端口10022)。
但是,使用逻辑主机名选项,您可以配置第二个PuTTY,以便在您知道它最终将与之通信的主机名下缓存主机键(这里是foovax)。

如果您希望通过许多不同的通道连接到相同的实际服务器(可能是因为您的端口转发安排一直在变化),那么这将非常有用:通过一致地设置逻辑主机名,您可以安排PuTTY不会一直要求您重新确认其主机密钥。
相反,如果您希望使用相同的本地端口号将端口转发到许多不同的服务器,那么您可能不希望任何特定服务器的主机密钥缓存在该本地端口号下。
(对于后一种情况,您可以在相关会话中显式地配置主机密钥;
见部分4.20.2。)

如果你只是为这个选项,输入一个主机名PuTTY将缓存SSH主机密钥下默认主机的SSH端口,无论你真正连接到港(自典型场景就像上面的例子:你连接到一个愚蠢的实际端口号和连接最终转发到其他机器)的正常端口22 SSH服务器。
要覆盖它,您可以向逻辑主机名追加一个端口号,以冒号分隔。
例如,输入“foovax:2200”作为逻辑主机名将导致主机密钥被缓存,就好像您已经连接到foovax的2200端口一样。

如果使用此选项提供主机名,它还会显示在包含远程主机名的其他位置,例如默认窗口标题和默认SSH密码提示符。
这反映了这样一个事实:这是您真正连接到的主机,这比您碰巧使用的与该主机进行联系的方法更重要。
(即使您使用的是SSH以外的协议,这也是适用的。)

4.14数据面板(data)

数据面板允许您配置可以发送到服务器的各种数据片段,以影响远程连接。

此面板上的每个选项适用于多个协议。
只适用于一个协议的选项出现在该协议的配置面板上。

4.14.1"自动登录用户名"(auto-login username)

这三种SSH、Telnet和Rlogin协议都允许您指定想要登录的用户名,而不必每次都显式地输入它。
(一些Telnet服务器不支持这一点。)

在此框中,您可以键入该用户名。

4.14.2系统用户名的使用

默认情况下,当前一个框(第4.14.1节)为空时,PuTTY将在您连接时提示输入用户名。

在某些环境中,例如实现单点登录的大型组织的网络中,更明智的默认设置可能是使用登录到本地操作系统(如果有的话)的用户名;
这对于GSSAPI身份验证尤其有用(参见4.23节)。
此控件允许您更改默认行为。

为了方便,对话框中显示当前系统用户名。
它没有保存在配置中;
如果保存的会话稍后被不同的用户使用,则将使用该用户的名称。

4.14.3终端类型字符串

您可能使用PuTTY连接的大多数服务器都设计为从许多不同类型的终端连接。
为了向每个控件发送正确的控制序列,服务器需要知道它正在处理的终端类型。
因此,每个SSH、Telnet和Rlogin协议都允许在描述终端的连接中发送文本字符串。
在Unix服务器上,它从termcap或terminfo数据库中选择一个条目,该条目告诉应用程序向终端发送什么控制序列,以及期望键盘生成什么字符序列。

PuTTY试图模拟Unix xterm程序,默认情况下,它通过将xterm作为终端类型的字符串发送来反映这一点。
如果您发现这不是您想要的—也许远程系统报告“未知终端类型”—您可以尝试将其设置为其他类型,例如vt220。

如果您不确定问题是否由终端类型设置引起,您可能需要查阅应用程序或服务器的手册。

4.14.4终端速度

Telnet、Rlogin和SSH协议允许客户端指定到服务器的终端速度。

该参数不影响连接的实际速度,实际速度总是“尽可能快”;
这只是服务器软件有时用来修改其行为的一个提示。
例如,如果指示速度较慢,服务器可能会切换到带宽占用较少的显示模式。

在网络环境中,该值通常没有意义,但是PuTTY允许您配置它,以防您发现服务器对默认值的反应很糟糕。

格式是一对用逗号分隔的数字,例如38400和38400。
第一个数字表示(来自服务器的)每秒比特数的输出速度,第二个是(到服务器的)输入速度。
(在Rlogin协议中只使用第一个。)

此选项对row连接没有影响。

4.14.5在服务器上设置环境变量

Telnet协议为客户机向服务器传递环境变量提供了一种方法。
由于安全缺陷,许多Telnet服务器已经停止支持这个特性,但是PuTTY仍然支持它,因为任何服务器都可以通过其他方式解决安全问题,而不仅仅是禁用整个机制。

SSH协议的版本2也提供了类似的机制,在没有安全缺陷的情况下更容易实现。
更新的SSH-2服务器比旧服务器更有可能支持它。

在SSH-1、rlogin或原始协议中不使用此配置数据。

要将环境变量添加到传输到连接的列表中,您需要在“variable”框中输入变量名,在“value”框中输入其值,然后按“add”按钮。
若要从列表中删除一个,请在列表框中选择它并按“remove”。

4.15代理面板

代理面板允许您配置PuTTY以使用各种类型的代理来进行网络连接。
此面板中的设置会影响形成PuTTY会话的主要网络连接,以及由于SSH端口转发而建立的任何额外连接(参见3.5节)。

请注意,与某些软件(如web浏览器)不同,PuTTY不尝试自动确定是否使用代理,以及(如果使用)为给定目标使用哪个代理。
如果需要使用代理,则必须始终显式地对其进行配置。

4.15.1设置代理类型(proxy type)

“代理类型”单选按钮允许您配置您希望PuTTY用于其网络连接的代理类型。
默认设置为“无”;
在这种模式下,任何连接都不使用代理。

  • 选择“HTTP”允许您通过支持HTTP CONNECT命令的web服务器代理连接,如RFC 2817中所述。
  • 选择“SOCKS 4”或“SOCKS 5”允许您通过SOCKS服务器代理连接。
  • 许多防火墙实现了一种不太正式的代理类型,在这种代理类型中,用户可以直接与防火墙机器建立Telnet连接,并输入命令connect myhost.com 22以连接到外部主机。
  • 选择“Telnet”允许您告诉PuTTY使用这种类型的代理。
  • 选择“Local”允许您在本地机器上指定一个作为代理的任意命令。
    当会话启动时,PuTTY不是创建TCP连接,而是运行命令(在4.15.5节中指定),并使用它的标准输入和输出流。

例如,可以使用它与PuTTY本身不支持的某种网络代理通信;
或者您可以完全通过TCP/IP以外的其他方式来隧道连接。

如果您希望本地代理命令建立到代理主机的辅助SSH连接,然后将主连接通过该连接进行隧道,那么您很可能希望Plink中的-nc命令行选项。
有关更多信息,请参见3.8.3.14节。

您还可以在命令行上启用此模式;
看到3.8.3.24节。

4.15.2不包括部分网络的代理

通常,您只需要使用代理连接到网络的非本地部分;
例如,公司内部网络之外的连接可能需要您的代理。
在“排除主机/IP”框中,您可以输入IP地址的范围,或者DNS名称的范围,PuTTY将避免使用代理,而是直接连接。

“排除主机/ ip”框可以包含多个以逗号分隔的排除范围。
每个范围可以是IP地址或DNS名称,其中*字符允许通配符。
例如:

  • .example.com
    这将名称以.example.com结尾的主机排除在代理之外。

192.168.88.*
这将IP地址从192.168.88开始的主机排除在代理之外。

192.168.88., .example.com
这同时排除了上述两个范围。

到本地主机的连接(主机名localhost和任何环回IP地址)永远不会被代理,即使代理排除列表没有显式地包含它们。
这种行为不太可能会导致问题,但是如果出现问题,您可以通过启用“代理本地主机连接”来更改它。

注意,如果您在代理上执行DNS(参见4.15.3节),您应该确保您的代理排除设置不依赖于知道主机的IP地址。
如果名称在没有PuTTY查找的情况下传递给代理,它将永远不会知道IP地址,并且无法根据您的列表对其进行检查。

4.15.3使用代理时的名称解析

如果您使用代理访问私有网络,那么DNS名称解析是由PuTTY本身(在客户机上)执行还是由代理执行就会有很大的不同。

配置选项“在代理端执行DNS名称查找”允许您控制此操作。
如果将其设置为“No”,PuTTY将始终执行自己的DNS,并始终向代理传递IP地址。
如果将其设置为“Yes”,PuTTY将始终直接将主机名传递给代理,而不需要先查找主机名。

如果将此选项设置为“Auto”(默认值),PuTTY将执行它认为适合每种代理类型的操作。
Telnet、HTTP和SOCKS5代理将直接将主机名传递给它们;
SOCKS4代理不会。

注意,如果您在代理上执行DNS,您应该确保您的代理排除设置(参见4.15.2节)不依赖于知道主机的IP地址。
如果名称在没有PuTTY查找的情况下传递给代理,它将永远不会知道IP地址,并且无法根据您的列表对其进行检查。

原始的SOCKS 4协议不支持代理端DNS。
有一个协议扩展(SOCKS 4A)支持它,但是并不是所有的SOCKS 4服务器都提供这个扩展。
如果您启用代理DNS,而您的SOCKS 4服务器无法处理它,这可能就是原因。

4.15.4用户名和密码

如果您的代理需要身份验证,您可以在“用户名”和“密码”框中输入用户名和密码。

请注意,如果保存会话,代理密码将以纯文本形式保存,因此任何能够访问PuTTY配置数据的人都能够发现它。

认证不完全支持所有形式的代理:

  • HTTP代理和SOCKS 5代理支持用户名和密码身份验证。
    • 对于SOCKS 5,如果代理支持的话,身份验证是通过章的(PuTTYtel不支持这种方法);
      否则,密码将以纯文本的形式发送到代理。
    • 对于HTTP代理,目前唯一支持的身份验证方法是“basic”,其中密码以纯文本的形式发送到代理。
  • SOCKS 4可以使用“用户名”字段,但不支持密码。
  • 您可以指定在Telnet/Local代理命令中包含用户名和密码的方法(参见4.15.5节)。
4.15.5指定Telnet或本地代理命令

如果使用Telnet代理类型,防火墙的Telnet服务器需要的通常命令是connect,后面跟着主机名和端口号。
如果您的代理需要不同的命令,您可以在这里输入替代命令。

如果使用的是本地代理类型,则在这里指定要运行的本地命令。

在这个字符串中,您可以使用\n表示新行,\r表示回车,\t表示制表符,\x后跟两个十六进制数字表示任何其他字符。
\用来编码\字符本身。

另外,特殊字符串%host和%port将被您想要连接的主机名和端口号替换。
字符串%user和%pass将被指定的代理用户名和密码替换。
字符串%proxyhost和%proxyport将被代理面板上指定的主机详细信息(如果有的话)所替代(这对于本地代理类型最有可能是有用的)。
要获得文字%符号,请输入%%。

如果Telnet代理服务器在发送命令之前提示输入用户名和密码,您可以使用以下命令:

%user\n%pass\nconnect %host %port\n

这将把您的用户名和密码作为前两行发送到代理,然后是连接到所需主机和端口的命令。
请注意,如果在Telnet命令中不包含%user或%pass令牌,那么“Username”和“Password”配置字段将被忽略。

4.15.6控制代理日志

代理交互通常有自己的诊断输出;
本地代理命令尤其如此。

“在终端窗口中打印代理诊断信息”设置允许您控制将多少代理诊断信息打印到主终端窗口,以及主会话的输出。

默认情况下(’ No '),代理诊断只发送到事件日志;
使用“Yes”,它们也会被打印到终端,在那里它们可能会与您的主会话混淆。
“直到会议开始”是一种妥协;
代理消息将进入终端窗口,直到主会话被认为已经启动(以一种依赖于协议的方式),这是它们最有趣的时候;
在会话期间,任何与代理相关的消息都只会进入事件日志。

【翻译不易,转载请注明出处 衡与墨https://blog.csdn.net/le_17_4_6】
未完待续

猜你喜欢

转载自blog.csdn.net/le_17_4_6/article/details/86137217