telnet、tn 或 tn3270 命令
用途
使用 Telnet 接口连接本地主机到远程主机。
语法
{ telnet | tn | tn3270 } [ -d ] [ -p ] [ -n TraceFile ] [ -e TerminalType ] [ -f | -F ] [ -k realm ] [ -l 用户] [ 主机 [ 端口 ]]
描述
telnet 命令,也称作 tn 或 tn3270 命令,以命令方式和输入方式两种不同的方式操作。
系统
将分配给用户缺省的登录灵敏度标签(SL)和完整性标签(TL),这是进程成功登录后用户进程的 SL 和 TL。
如果用户不想使用缺省登录 SL 登录,用户可以选择使用 -e 选项在登录时提供另一个 SL。 由用户提供的 SL 必须由用户安全权限值支配,并包含在系统资格鉴定范围内。 用户不能在登录时指定 TL。 缺省的登录 SL 和 TL 与每个用户的用户名和安全权限值一起在 /etc/security/user 文件中定义。 要使用 -e 选项,服务器端的内核可信网络位必须关闭。
命令方式
当发出不带参数的 telnet 命令时,它将进入命令方式,如telnet>,tn>,或tn3270>提示。 用户也可以通过针对 telnet 命令按 Ctrl-],针对 tn 命令按 Ctrl-T 或针对 tn3270 命令按 Ctrl-C 从输入方式进入命令方式。 在命令方式下,可以输入子命令来管理远程系统。 部分子命令会在完成时返回到远程会话。 对于那些不能返回到远程会话的子命令,按 Enter 键可以返回到远程会话。
注: 此命令的缺省转义序列为 Ctrl-] (对于 telnet 命令) , Ctrl-T (对于 tn 命令) , 或用于 tn3270 命令的 Ctrl-C。 可以通过更改 TNESC 环境变量来覆盖此缺省值。
要在连接到远程主机后进入 telnet 命令方式,输入 Telnet 转义键序列。 当在命令方式下时,标准操作系统编辑约定,例如退格键,是可用的。
输入方式 (input mode)
当发出带有自变量的 telnet 命令时,它执行带有这些自变量的 open 子命令,然后进入输入方式。 输入方式的类型为逐个字母或逐行,取决于远程系统所支持的是什么。 在逐个字母方式下,大部分输入的文本会立即送到远程主机处理。 在逐行方式下,所有文本在本地屏幕显示,然后将完整的行发送到远程主机。
在任一输入方式下,如果 切换 localchars 子命令的值为 True ,那么会在本地捕获用户的 QUIT , INTR 和 FLUSH 字符,并将其作为 Telnet 协议序列发送到远程主机。 切换自动清空 和 切换自动同步 子命令导致此操作将后续输出清空到终端,直到远程主机确认 Telnet 序列并清空先前的终端输入 (对于 QUIT 和 INTR 字符)。
阿拉伯/希伯来文支持
telnet, tn 和 tn3270 命令支持阿拉伯和希伯来文本,允许用户在仿真会话中输入阿拉伯或希伯来字符。 Ar_AA 语言环境显示阿拉伯字符的正确形状。 以下功能支持双向阿拉伯和希伯来文本:
语言选择
该功能允许切换语言层。 通过下列键组合来激活阿拉伯/希伯来语言选择:
| 项 | 描述 |
|---|---|
| Alt + N | 从 AIX 终端 |
| Esc + N | 从 ASCII 终端 |
| Alt+N 或 Esc+N | 从拉丁语 AIX 终端 |
通过下列键组合激活拉丁语言层:
| 项 | 描述 |
|---|---|
| Alt + L | 从阿拉伯语或希伯来语 AIX 终端 |
| Esc + L | 从 ASCII 终端 |
| Alt+L 或 Esc+L | 从 AIX 终端 |
屏幕逆向
该功能反转显示屏幕图像,并调用新屏幕方向的缺省语言。 这样,如果屏幕反转为从右到左,语言会变为阿拉伯/希伯来语。 如果屏幕反转为从左到右,语言会变为拉丁语。
如果启用对称字符交换,反转屏幕会将双向的字符替换为其对应字。 例如,如果启用数字字符交换,屏幕反转会将印地数字替换为其对应的阿拉伯数字,而将阿拉伯数字替换为其对应的印地数字。
通过下列键组合激活屏幕反转:
| 项 | 描述 |
|---|---|
| Alt + S | 从阿拉伯语或希伯来语 AIX 终端 |
| Esc + S | 从 ASCII 终端 |
| Alt+S 或 Esc+S | 从拉丁语 AIX 终端 |
推送/结束推送
Push 功能允许编辑方向与屏幕方向相反的文本。 当激活该功能时,光标方向反转,语言层也相应改变,并生成一个 Push 段。
Push 功能有两个次级方式:
| 项 | 描述 |
|---|---|
| 边界方式 | 当进入 Push 方式时该方式被激活。 在该方式下,当您输入额外的字符时光标保持在其位置不动。 文本被 push 为屏幕方向的相反方向。 |
| 编辑方式 | 当光标从其边界位置移到 Push 段区域时该方式被激活。 在该方式下,可以在 Push 段编辑文本,同时以字段的本来方向输入。 |
通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + P | 从阿拉伯语或希伯来语 AIX 终端 |
| Esc + P | 从 ASCII 终端 |
| Alt+P 或 Esc+P | 从拉丁语 AIX 终端 |
End Push 功能终止 Push 功能。 光标跳至 Push 段的末尾,并且变回原来的方向。 可能通过按任意字段退出键如光标向上、光标向下或任何注意标识符(AID)键,如 Enter 键来激活 End Push。 也可以通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + E | 从阿拉伯语或希伯来语 AIX 终端 |
| Esc + E | 从 ASCII 终端 |
| Alt+E 或 Esc+E | 从拉丁语 AIX 终端 |
字段逆向
该功能将字段方向切换为屏幕方向的相反方向或相同方向。 该功能不反转字段中的文本。 光标方向设为新字段方向,并选择了相应语言层。
例如,当激活字段逆向功能时,如果光标在字段或行的第一逻辑位置,光标跳至该字段或行的相反一侧。 这时该位置为第一逻辑位置。 如果当激活字段逆向功能时光标不在字段或行的第一位置,光标保持在原位置,并允许自然而正确的编辑现有文本。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + R | 从阿拉伯语或希伯来语 AIX 终端 |
| Esc + R | 从 ASCII 终端 |
| Alt+R 或 Esc+R | 从拉丁语 AIX 终端 |
autopush
该功能允许输入混合的从左到右和从右到左的文本。 在启用后,逆向段根据输入的字符或选择的语言层自动初始化和终止。 因此,该方式自动调用 Push 方式并帮您调用 Push 功能。
当向一从右到左的字段中输入一个数字字符或一个拉丁字符时,Autopush 功能自动启动 Push 功能而不改变语言。 当输入额外的数字或拉丁字符时,Push 功能继续执行;否则,Push 功能自动中止。 这样就可以输入嵌有数字或拉丁字符的阿拉伯语/希伯来语文本而不必调用 Push/End Push 功能。
当向一从左到右的字段中输入一阿拉伯/希伯来字符时,Autopush 功能自动启动 Push 功能而不改变语言。 如果输入一个数字或拉丁字符,Autopush 功能自动终止。 这样,就可以通过语言选择功能输入嵌有阿拉伯语/希伯来语文本的拉丁文本,而不是 Push/End 功能。
通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + A | 从阿拉伯语或希伯来语 AIX 终端 |
| Esc + A | 从 ASCII 终端 |
| Alt + A 或 Esc + A | 从拉丁语 AIX 终端 |
字段形状
该功能给当前字段或行的阿拉伯字符定形。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + H | 从阿拉伯语 AIX 终端 |
| Esc + H | 从 ASCII 终端 |
| Alt+H 或 Esc+H | 从拉丁语 AIX 终端 |
字段重塑
该功能解除当前字段或行中的阿拉伯文本形状。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + B | 从阿拉伯语 AIX 终端 |
| Esc + B | 从 ASCII 终端 |
| Alt + B 或 Esc + B | 从拉丁语 AIX 终端 |
上下文形状确定
该功能基于周围文本决定了阿拉伯字符的形状。 当且仅当输入或编辑从右到左文本时使用上下文形状确定功能。 当按下任意指定的形状选择键时该功能终止。 它是缺省功能。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + C | 从阿拉伯语 AIX 终端 |
| Esc + C | 从 ASCII 终端 |
| Alt+C 或 Esc+C | 从拉丁语 AIX 终端 |
初始形状确定
该功能确定阿拉伯字符的初始形状。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + I | 从阿拉伯语 AIX 终端 |
| Esc + I | 从 ASCII 终端 |
| Alt + I 或 Esc + I | 从拉丁语 AIX 终端 |
中间形状确定
该功能确定阿拉伯字符的中间形状。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + M | 从阿拉伯语 AIX 终端 |
| Esc + M | 从 ASCII 终端 |
| Alt+M 或 Esc+M | 从拉丁语 AIX 终端 |
孤立形状确定
该功能确定阿拉伯字符的孤立形状。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + O | 从阿拉伯语 AIX 终端 |
| Esc + O | 从 ASCII 终端 |
| Alt+O 或 Esc+O | 从拉丁语 AIX 终端 |
最终形状确定
该功能确定阿拉伯字符的最终形状。 通过下列键组合激活该功能:
| 项 | 描述 |
|---|---|
| Alt + Y | 从阿拉伯语 AIX 终端 |
| Esc + Y | 从 ASCII 终端 |
| Alt+Y 或 Esc+Y | 从 AIX 终端 |
其他功能
要激活数字交换,在命令行输入下列行:
export ARB_NUM_SWAP=1 要激活对称交换,即,交换双向字符,如花括号和方括号等,在命令行输入下列行:
export ARB_SYM_SWAP=1指定主机使用的代码页,在命令行输入下列一行:
export RM_HOST_LANG=IBM-420终端类型协商
telnet 命令使用 Telnet 协议协商终端类型,它根据所协商的结果设置 TERM 环境变量。
要从控制台覆盖终端协商,使用 EMULATE 环境变量或 -e 标志;如果需要 3270 模拟则调用 tn3270 命令。 要确定是否执行了终端类型协商,以下的列表描述了 telnet 命令处理的顺序:
如果客户机和服务器协商使用 3270 数据流,键盘映射由下列优先权决定:
| 项 | 描述 |
|---|---|
| $HOME/.3270keys | 当调用 tn或 telnet 命令时指定用户的 3270 键盘映射。 如果使用的是彩色显示器,还可以改变该文件来定制 3270 显示器的色彩。 |
| /etc/map3270 | 当调用 tn3270 命令时指定用户的 3270 键盘映射。 文件 /etc/map3270 定义了键盘映射和 tn3270 命令的颜色。 |
| /etc/3270.keys | 指定基本的 3270 键盘映射以用于有限功能的终端。 |
安全注意键 (SAK) 选项
除终端协商外,telnet 命令允许对安全注意键(SAK)协商选项。 当支持该选项时,它为本地用户诸如改变用户标识或密码等任务提供到远程主机安全通信路径。 如果远程主机支持 SAK 功能,那么发出 telnet send sak 子命令时,将在远程主机上打开可信 shell。 还可以使用 set sak 子命令将 SAK 函数分配给在 telnet 输入方式下可用的单个键。
行结束约定
Telnet 协议定义回车换行(CR-LF)序列来代表行结束(“end-of-line”)。 对终端输入而言,它对应在用户终端按下的命令完成或行结束键。 在 ASCII 终端上,这是一个 CR 键,但它也有可能被标记为“Return”或“Enter”。
当 Telnet 服务器收到 Telnet 行结束序列,即从一远程终端上输入的 CR-LF,效果与用户在本地终端上按下行结束键相同。
在 ASCII 服务器上,接收 Telnet 序列 CR-LF 与本地用户在本地终端上按 CR 键的效果一样。 在 ASCII 服务器上,当 CR-LF 和 CR-NUL 作为从 Telnet 连接上接收的输入时效果相同。
注: Telnet 用户必须能够发送 CR-LF , CR-NULL 或 LF。 ASCII 用户必须能够发送 CR-LF 或 CR-NULL。
在 ACSII 主机上,当用户按行结束键时,Telnet 用户应该有一个用户可控制的方式来发送 CR-LF 或 CR-NULL。 CR-LF 应是缺省值。 Telnet 行结束序列,CR-LF,必须用于发送不是从终端到计算机的 Telnet 数据。 例如,当 Telnet 服务器发送输出或当 Telnet 协议合并另一应用协议时它就会发生。
telnet 命令“执行”(用 exec 命令)/usr/sbin/login 命令来验证用户。 它 1) 允许所有用户和设备属性在 telnet 连接上生效,2) 使telnet连接计数注册会话一次可允许的最大数(由 maxlogins 属性决定)。 属性定义在文件 /etc/security/user 和 /etc/security/login.cfg 文件之中。
限制
- 较早版本的 telnet 命令与 AIX V 4 和更高版本的 telnet 命令在发送模拟高功能终端 (HFT) 的转义时不兼容。 当前版本的 telnet 命令只有在按下 esc 键时才发送一个转义字符,而先前版本会发送两个转义字符。
- telnet 命令必须允许传输不是以二进制方式来实现 ISO 8859 拉丁语代码页的 8 位字符。 这在 TCP/IP 命令的国际化上是必须的。
- 为了支持新的字符集,将以下内容添加到hft-m,ibm5081,hft,hft-nam,hft-c,aixterm-m和aixtermterminfo 文件中的条目:
box1=\154\161\153\170\152\155\167\165\166\164\156, batt1=f1, box2=\154\161\153\170\152\155\167\165\166\164\156, batt2=f1md, font0=\E(B, font1=\E(0, - rlogind 和 telnetd 守护程序使用 POSIX 线路规程来更改本地 TTY 上的线路规程。 如果 POSIX 线路规程没有用在本地 TTY 上,回传其他线路规程将导致不恰当的行为。 AIX TCP/IP 必须具有 POSIX 线路规程才能正常工作。
- 使用 telnet 命令时不能将鼠标用作输入设备。
- telnet 命令不支持 APL 数据流。
环境变量
下列环境变量可与 telnet 命令一起使用:
| 项 | 描述 |
|---|---|
| EMULATE | 以与-e 标志相同的方式覆盖终端类型协商。 如果 EMULATE 环境变量定义为 vt100 或 3270,telnet 命令分别模拟 DEC VT100 终端或 3270 终端。 如果 EMULATE 变量未定义或值为 none,telnet 命令正常操作。 如果 EMULATE 变量设为 vt100 或 3270,远程连接注册的 TERM 环境变量也应设为相同值。 可以在打开连接后用 env 命令来检测。 |
| TNESC | 指定除缺省值以外的备用 TELNET 转义字符,Ctrl-] 用于 telnet 命令,Ctrl-T 用于 tn 命令或 Ctrl-C 用于 tn3270 命令。 要改变 telnet 转义序列,设置 TNESC 为您所希望用的字符的八进制值。 然后导出 TNESC。 例如,设置 TNESC 为 35 以改变 TELNET 转义序列为 Ctrl-]。 |
| MAP3270 | 指定一包含用户的 3270 键盘映射的备用文件。 MAP3270 变量必须包含备用文件的完整路径名。 用与缺省文件 /etc/map3270 相同的格式创建备用文件。 |
| RM_HOST_LANG | 指定在远程主机 3270 上使用的 EBCDIC 代码页。 在 telnet(用 telnet 命令)到一非英语的 3270 主机上之前,设置环境变量 RM_HOST_LANG 到正确的代码页。 缺省为英语。 请参阅 全球化指南和参考 中的 Converters Overview for Programming ,以获取要使用的可能代码页。 通过指定所期望的代码页来格式化 RM_HOST_LANG 环境变量。 限制: tn3270 命令不支持 DBCS ,因为不支持 DBCS 的终端类型。
telnet 命令通过 iconv 命令转换字符。 用户可通过使用 genxlt 命令来改变缺省转换表。 |
标志
| 项 | 描述 |
|---|---|
| -d | 打开调试方式。 |
| -e TerminalType | 覆盖终端类型协商。 可能的值为 vt100、3270 或 none。 |
| -n TraceFile | 将网络跟踪信息记录到由 TraceFile 变量指定的文件中。 |
| -p | 保留当前 TTY 属性。 |
| -f | 转发凭证。 如果 Kerberos 5 不是当前的认证方法,该标记将被忽略。 如果当前 DCE 凭证未被标记为可转发,认证将失败。 |
| -f | 转发凭证。 此外,远程系统上的凭证将被标记为可转发的(允许它们被传输到另一个远程系统)。 如果 Kerberos 5 不是当前的认证方法,该标记将被忽略。 如果当前 DCE 凭证未被标记为可转发,认证将失败。 |
| -k 域 | 如果与本地系统域不同,允许用户指定远程站的域。 为此,realm 与 DCE 单元同义。 如果 Kerberos 5 不是当前的认证方法,该标记将被忽略。 |
| -l 用户 | 指定 telnet 希望注册为的远程用户。 如果 Kerberos 5 不是当前的认证方法,该选项将被忽略。 |
子命令
在输入每个子命令前,按转义键序列。 转义序列指示程序没有文本信息跟随。 否则,程序将子命令解释为文本。
对下面列表中的每个子命令,只需输入足够的字母来唯一识别该子命令。 (例如,q 对 quit 子命令而言就已足够)。 这同样适用于 display、emulate、 mode、set 和 toggle 子命令的参数。
telnet 子命令为:
| 项 | 描述 |
|---|---|
| ? [子命令] | 请求有关 telnet 子命令的帮助。 没有参数, ? 子命令显示一个帮助摘要。 如果指定了 Subcommand 变量,那么该子变量的帮助信息显示出来。 |
| CLOSE | 当使用 open 子命令来建立连接时,关闭 TELENT 连接并返回到 telnet 命令方式。 调用 telnet 命令并指定主机时, close 子命令关闭 TELNET 连接并退出 telnet 程序 (与 quit 子命令相同)。 |
| 显示 [参数] | 如果未指定 Argument 变量,那么显示所有 set 和 切换 值; 否则,仅列出与 Argument 变量匹配的那些值。 |
| 仿真 TerminalType | 用指定的终端类型覆盖终端类型协商。 可选项有:
|
| vt100 | 模拟一个 DEC VT100 终端。 |
| 项 | 描述 |
|---|---|
| 方式 类型 | 指定当前输入方式。 当 Type 变量值为 line 时,方式为逐行。 当 Type 变量值为 character 时,方式为每次一个字符。 在进入一个请求方式之前,远程主机请求许可,如果远程主机支持它,那么进入新的方式。 |
| open 主机 [端口] | 打开到指定主机的连接。 Host 可以指定为一个主机名或一个以点分十进制数形式的因特网地址。 如果未指定 Port 变量,那么 telnet 子命令试图联系缺省端口上的 TELNET 服务器。 |
| 退出 | 关闭 TELNET 连接并退出 telnet 程序。 在命令方式下 Ctrl-D 也可关闭连接并退出。 |
| send 参数 | 发送一个或多个参数(特定的字符序列)到远程主机。 多个参数由空格分隔。 以下是可用的参数:
|
| 设置 VariableValue | 设置指定的 TELNET 变量为指定值。 特殊值 off 关闭与输入的变量关联的功能。 display 子命令可用于查询每个变量的当前设置。 可指定的变量有:
|
| 状态 | 显示 telnet 命令的状态,包括当前方式和当前连接的远程主机。 |
| 切换 参数 | 切换一个或多个参数控制 telnet 命令如何响应事件。 可能的值为 True 和 False。 多个参数由空格分隔。 display 子命令可用于查询每个自变量的当前设置。 以下是可用的参数:
|
| z | 暂挂 TELNET 进程。 要返回 TELNET 进程,用 fg 内置命令 csh 或 ksh 命令。注:对任意其他进程, z 子命令有着与 Ctrl-Z 键序列相同的效果。 它暂挂 Telnet 执行并将您返回到原来的登录 shell。 |
认证
如果系统是为 Kerberos 5 认证配置的,telnet 客户机将尝试认证协商。 telnet 所用的认证协商以及选项和子选项的定义在 rfc 1416 中作了定义。
如果客户机与服务器同意某一种认证,它们将交换认证信息,包括客户机期望访问的帐户。 除非设置了 -l 标志,否则这将是本地用户。
如果他们无法就认证信息达成一致,或者如果认证信息失败,那么 Telnet 连接将继续使用标准连接 (前提是配置了标准 AIX )。
仅当下列所有条件都得到满足时远程主机允许访问:
- 本地用户具有当前 DCE 凭证。
- 远程系统接受 DCE 凭证作为访问远程帐户足够的凭证。 有关附加信息,请参阅 kvalid_user 函数。
安全性
示例
在以下示例中,如果输入 tn 命令而不是 telnet 命令,那么命令方式提示符将显示为tn>.
- 要登录到远程主机host1并执行终端协商,输入:
telnet host1 - 要登录到host1作为 vt100 终端 (无终端类型协商) ,请选择下列其中一种方法:
- 要登录到远程主机上,然后检查 telnet 程序的状态,请输入:
当登录提示符出现时,输入您的登录标识和密码。 按 Ctrl-T 键序列以接收 telnet>提示。 在以下位置输入telnet>提示:与下列内容类似的信息显示在屏幕上:telnet host3
status 子命令完成后,按 Enter 键返回到远程提示符。Connected to host3. Operating in character-at-a-time mode. Escape character is '^]'.一旦完成了登录,就可以发出命令。 要注销系统并关闭连接,请按 Ctrl-D 键序列,或输入 exit。
- 要使用 tn3270 命令登录到远程主机,请输入:
主机的登录屏幕应显示出来。 这时就可以输入登录标识和密码。 一旦完成了登录,就可以发出命令。 按 Ctrl-D 或输入 exit 退出系统并断开连接。tn3270 hostname - 要使用用户名为
david特定 SLsec a b的 telnet 命令连接到 icehouse.austin.ibm.com 远程主机,请输入以下命令:- 在命令行中,输入
telnet icehouse.aoot.austin.ibm.com以连接到 icehouse.austin.ibm.com - 在
login字段中,输入david -e "sec a b" - 在
passwords字段中,输入 david 的密码。
要与远程服务器断开连接,使用 Ctrl -T 键序列。
- 在命令行中,输入
文件
| 项 | 描述 |
|---|---|
| /etc/3270.keys | 定义基本 3270 键盘映射以用于有限功能的终端。 |