Network Working Group                                        F. da Cruz
Request for Comments: 2839                                    J. Altman
Category: Informational                             Columbia University
                                                               May 2000
        
Network Working Group                                        F. da Cruz
Request for Comments: 2839                                    J. Altman
Category: Informational                             Columbia University
                                                               May 2000
        

Internet Kermit Service

互联网服务

Status of this Memo

本备忘录的状况

This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.

本备忘录为互联网社区提供信息。它没有规定任何类型的互联网标准。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

ABSTRACT

摘要

This document describes a new file transfer service for the Internet based on Telnet Protocol for option negotiation and Kermit Protocol for file transfer and management. The Internet Kermit Service provides access to both authenticated and anonymous users. The use of Kermit protocol over a Telnet connection provides several advantages over FTP, including easy traversal of firewalls, transfers over multiple transports, and security via a combination of supported Telnet authentication and encryption option negotiations, plus significant functional benefits. While this document describes a new service for the Internet, the clients for this service already exist on most platforms in the form of Telnet clients that support the Kermit file transfer protocol. These clients are available not only from Columbia University's Kermit Project but also numerous third parties.

本文档描述了一种新的基于Telnet协议(用于选项协商)和Kermit协议(用于文件传输和管理)的Internet文件传输服务。Internet Kermit服务为经过身份验证的用户和匿名用户提供访问权限。在Telnet连接上使用Kermit协议比FTP具有多个优势,包括轻松穿越防火墙、通过多个传输进行传输,以及通过支持的Telnet身份验证和加密选项协商的组合实现安全性,以及显著的功能优势。虽然本文档描述了一种新的Internet服务,但该服务的客户端已经以支持Kermit文件传输协议的Telnet客户端的形式存在于大多数平台上。这些客户不仅可以从哥伦比亚大学的Kermit项目获得,还可以从众多第三方获得。

TABLE OF CONTENTS

目录

   1. INTRODUCTION ................................................ 2
   2. BACKGROUND .................................................. 3
   2.1. History ................................................... 3
   2.2. Motivation ................................................ 4
   3. THE INTERNET KERMIT SERVICE MODEL ........................... 7
   3.1. Server-Side Kermit Server ................................. 7
   3.2. Client-Side Kermit Server ................................. 8
   3.3. Loosely Coupled Operation ................................. 9
   4. SECURITY CONSIDERATIONS .....................................10
   4.1. AUTHENTICATION ............................................10
   4.1.1. Telnet Authentication ...................................10
   4.1.2. Telnet over TLS option ..................................11
        
   1. INTRODUCTION ................................................ 2
   2. BACKGROUND .................................................. 3
   2.1. History ................................................... 3
   2.2. Motivation ................................................ 4
   3. THE INTERNET KERMIT SERVICE MODEL ........................... 7
   3.1. Server-Side Kermit Server ................................. 7
   3.2. Client-Side Kermit Server ................................. 8
   3.3. Loosely Coupled Operation ................................. 9
   4. SECURITY CONSIDERATIONS .....................................10
   4.1. AUTHENTICATION ............................................10
   4.1.1. Telnet Authentication ...................................10
   4.1.2. Telnet over TLS option ..................................11
        
   4.1.3. Plaintext Authentication via Kermit REMOTE LOGIN ........11
   4.1.4. Plaintext Authentication via Command Prompt .............11
   4.1.5. Anonymous Login .........................................12
   4.2. ENCRYPTION (PRIVACY) ......................................12
   4.2.1  Telnet Encryption .......................................12
   4.2.2  Telnet Start_TLS ........................................12
   5. SERVICES ....................................................13
   5.1. Features for System Administrators ........................13
   5.2. Features for Users ........................................14
   5.3. User Interface ............................................16
   6. REFERENCES ..................................................18
   7. AUTHORS' ADDRESSES ..........................................19
   8. Full Copyright Statement ....................................20
        
   4.1.3. Plaintext Authentication via Kermit REMOTE LOGIN ........11
   4.1.4. Plaintext Authentication via Command Prompt .............11
   4.1.5. Anonymous Login .........................................12
   4.2. ENCRYPTION (PRIVACY) ......................................12
   4.2.1  Telnet Encryption .......................................12
   4.2.2  Telnet Start_TLS ........................................12
   5. SERVICES ....................................................13
   5.1. Features for System Administrators ........................13
   5.2. Features for Users ........................................14
   5.3. User Interface ............................................16
   6. REFERENCES ..................................................18
   7. AUTHORS' ADDRESSES ..........................................19
   8. Full Copyright Statement ....................................20
        

PREFACE

前言

This document describes an Internet Kermit Service (IKS) which provides an alternative to FTP for the transfer of files. This service is based upon both the TELNET protocol and the Kermit file transfer protocol.

本文档描述了一种Internet Kermit服务(IKS),它为文件传输提供了FTP的替代方案。该服务基于TELNET协议和Kermit文件传输协议。

1. INTRODUCTION
1. 介绍

The Internet Kermit Service:

互联网服务:

1. Provides direct access to Kermit file transfer and management services without requiring the user to first login to a shell account;

1. 提供对Kermit文件传输和管理服务的直接访问,而无需用户首先登录到shell帐户;

2. Provides Kermit file transfer and management services to anonymous users;

2. 为匿名用户提供Kermit文件传输和管理服务;

3. Provides services to all Telnet clients that support Kermit file transfer protocol via a simple, predictable, scriptable, and well-documented textual interface;

3. 通过一个简单的、可预测的、可编写脚本的、有良好文档记录的文本界面,向所有支持Kermit文件传输协议的Telnet客户端提供服务;

4. Provides direct and tightly-coupled access to a Kermit server when requested via the Telnet Kermit Option [TKO].

4. 通过Telnet Kermit选项[TKO]请求时,提供对Kermit服务器的直接和紧密耦合访问。

This memo assumes knowledge of Transmission Control Protocol, the Telnet Protocol [TEL], the Kermit File Transfer Protocol [KER,PRF], Telnet Kermit Option [TKO], and the commands and features of Kermit software [CKB,CMG,K95].

本备忘录假设了解传输控制协议、Telnet协议[TEL]、Kermit文件传输协议[KER,PRF]、Telnet Kermit选项[TKO]以及Kermit软件[CKB,CMG,K95]的命令和功能。

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [BCP].

本文件中的关键词“必须”、“不得”、“要求”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照RFC 2119[BCP]中的说明进行解释。

Definitions:

定义:

Kermit server A software program that is ready to accept and act upon commands in the form of well-defined Kermit packets [KER].

Kermit服务器一种软件程序,它可以接受定义良好的Kermit数据包形式的命令并对其进行操作[KER]。

Kermit client A software program that receives requests through its user interface from a human user (or a script or other source) and translates them to command packets, which it sends to a Kermit server, thus initiating a Kermit protocol transaction such as the transfer of one or more files.

Kermit客户端一种软件程序,通过其用户界面接收来自人类用户(或脚本或其他来源)的请求,并将其转换为命令包,然后发送到Kermit服务器,从而启动Kermit协议事务,例如传输一个或多个文件。

2. BACKGROUND
2. 出身背景
2.1. History
2.1. 历史

"Kermit" is the name of an extensible platform- and medium-independent file transfer and management protocol [KER,PRF] and of a suite of communications software programs that implement it and integrate it with other communications functions [CMG,CKB,K95].

“Kermit”是一个可扩展的独立于平台和介质的文件传输和管理协议[KER,PRF]以及一套实现该协议并将其与其他通信功能集成的通信软件程序[CMG,CKB,K95]的名称。

The Kermit protocol was first developed at Columbia University in New York City in 1981 for transferring files without errors between diverse types of computers over potentially hostile communication links. Since 1981, the Kermit Project at Columbia University has expanded the protocol, developed communications software that implements it upon key platforms, and worked with volunteer programmers at other sites adapting Kermit protocol to other platforms or communication methods. The Kermit Project also serves as the central point of Kermit software development, support, information, and distribution throughout the world.

Kermit协议最早于1981年在纽约哥伦比亚大学开发,用于通过潜在的敌对通信链路在不同类型的计算机之间传输文件而不会出错。自1981年以来,哥伦比亚大学的Kermit项目扩展了该协议,开发了在关键平台上实现该协议的通信软件,并与其他站点的志愿者程序员合作,使Kermit协议适应其他平台或通信方法。Kermit项目也是Kermit软件开发、支持、信息和全球发布的中心点。

Kermit software is now available for nearly every computer and operating system in existence. The major features of the most popular Kermit programs are:

Kermit软件现在几乎适用于所有现存的计算机和操作系统。最受欢迎的Kermit项目的主要特点是:

- Connection establishment and maintenance for a variety of connection methods including direct serial, dialup, TCP/IP, X.25, DECnet, and NETBIOS.

- 各种连接方法的连接建立和维护,包括直接串行、拨号、TCP/IP、X.25、DECnet和NETBIOS。

- Terminal emulation.

- 终端仿真。

- Error-free transfer of both text and binary files, individually or in groups.

- 单独或成组传输文本和二进制文件时无错误。

- Character-set translation during both terminal emulation and text-mode file transfer -- a unique feature of Kermit software.

- 终端仿真和文本模式文件传输期间的字符集转换——Kermit软件的独特功能。

- Remote file management through the client/server protocol.

- 通过客户机/服务器协议进行远程文件管理。

- A powerful and portable scripting language allowing complete automation of any task that can be performed manually.

- 一种功能强大且可移植的脚本语言,允许手动执行任何任务的完全自动化。

Kermit's command and script language is consistent across all platforms and communication methods, thus offering a unified method for accomplishing a wide range of communication tasks manually or under script control.

Kermit的命令和脚本语言在所有平台和通信方法中都是一致的,因此为手动或在脚本控制下完成广泛的通信任务提供了统一的方法。

A single Kermit program combines the functions of many different programs such as uucp, cu, tip, telnet, rlogin, ftp, iconv, and expect: it is a Telnet and Rlogin client that can also transfer files; it is a file transfer program that can also convert character sets; it is a dialout program that can use dialing directories and understands country codes and area codes; it is fully scriptable; it offers both client/server and interactive modes of operation. In its desktop versions (particularly for DOS, Windows, and OS/2) it offers all the features of communications software that are usually lacking from Internet client software (key mapping, colors, scrollback, mouse functions, printer control, etc)

一个Kermit程序结合了许多不同程序的功能,如uucp、cu、tip、telnet、rlogin、ftp、iconv和expect:它是一个telnet和rlogin客户端,也可以传输文件;它是一个文件传输程序,也可以转换字符集;这是一个拨号程序,可以使用拨号目录,了解国家代码和地区代码;它完全可以编写脚本;它提供客户端/服务器和交互式操作模式。在其桌面版本(特别是DOS、Windows和OS/2)中,它提供了Internet客户端软件通常缺少的所有通信软件功能(按键映射、颜色、滚动、鼠标功能、打印机控制等)

Kermit software is widely used throughout the academic, government, and corporate spheres, both in the USA and internationally.

Kermit软件在美国和国际上广泛应用于学术、政府和企业领域。

In addition to the Kermit software developed and/or distributed by the Kermit Project at Columbia University, hundreds of other software products -- commercial, shareware, and freeware -- also include some level of support for the Kermit protocol. Thus there are hundreds, perhaps thousands, of independent and interoperable Kermit protocol implementations based upon the open Kermit protocol specification [KER].

除了由哥伦比亚大学Kermit项目开发和/或分发的Kermit软件外,数百种其他软件产品——商业软件、共享软件和免费软件——也包括对Kermit协议的某种程度的支持。因此,基于开放式Kermit协议规范[KER],有成百上千种独立且可互操作的Kermit协议实现。

The Internet has formed the primary mechanism by which users and developers of Kermit software have collaborated to produce feature and command sets that continually evolve to meet their needs as technology changes.

互联网已经形成了一种主要的机制,通过这种机制,Kermit软件的用户和开发人员可以合作开发功能和命令集,这些功能和命令集可以随着技术的变化不断发展,以满足他们的需求。

2.2. Motivation.

2.2. 动机

Kermit protocol and software makes connections from one computer to another and transfers data between them. Countless people "live" in Kermit all day long; as a customizable Telnet or Rlogin (or serial communication) client with a wide selection of terminal emulations and convenience features, it is their window onto the Internet.

Kermit协议和软件从一台计算机连接到另一台计算机,并在它们之间传输数据。无数人整天“生活”在克米特;作为一个可定制的Telnet或Rlogin(或串行通信)客户端,它具有多种终端模拟和便利功能,是他们进入互联网的窗口。

Others use it in more creative ways, including some that involve key parts of the Internet, e.g. in batch or cron jobs that update news or Web servers or fetch email, or to monitor routers, terminal servers, and hubs and dial pagers when faults are detected. It is used by vendors of telecommunications equipment for remote diagnosis, patching, and updates. Telecom managers often use Kermit scripts to configure PBXs, muxes, routers, or terminal servers. In the world of commerce, Kermit is widely used for financial transactions, EDI, medical claim submission, and so forth. It is used with mobile barcode readers in warehousing and inventory applications. It is found in US Postal Service sorting and scanning equipment. It connects many of the logistics and supply systems throughout the military. It is found in fast-food restaurant cash registers, milling and die-cutting machines, textile looms and cutters, printing presses, and medical diagnostic equipment. It was the communications backbone of the 1994 Brazilian national election -- the largest in history.

其他人则以更具创造性的方式使用它,包括一些涉及互联网关键部分的应用,例如批量或cron作业,更新新闻或Web服务器或获取电子邮件,或在检测到故障时监控路由器、终端服务器、集线器和拨号寻呼机。它被电信设备供应商用于远程诊断、修补和更新。电信经理经常使用Kermit脚本来配置PBX、MUX、路由器或终端服务器。在商业领域,Kermit广泛用于金融交易、EDI、医疗索赔提交等。它用于仓储和库存应用中的移动条形码阅读器。它存在于美国邮政服务分拣和扫描设备中。它连接了整个军队的许多后勤和供应系统。在快餐店的收银机、铣床和模切机、纺织织机和切割机、印刷机和医疗诊断设备中都能找到这种物质。它是1994年巴西全国选举的通信支柱——这是历史上最大的一次。

And yet there has never been a strong, explicit connection of Kermit with the Internet. In the early years, Kermit acted as a kind of do-it-yourself network, enabling ordinary users to make connections that were not already there, and for some years was the predominant method of connecting a personal computer to the ARPAnet (e.g. by dialing a TAC).

然而,克米特与互联网之间从未有过强烈、明确的联系。在早期,Kermit充当了一种自己动手的网络,使普通用户能够建立以前不存在的连接,并且在一些年中是将个人计算机连接到ARPAnet的主要方法(例如,通过拨打TAC)。

Nowadays, however, with so many of the world's computers on the Internet, the role of Kermit software and protocol is changing. Kermit users on the network would like to have the features, functions, and interface they are accustomed to -- especially the automation features -- available for use in settings where presently only tools like FTP are available -- and even more so in situations where standard software like FTP can't be used.

然而,如今,世界上有如此多的计算机在互联网上,Kermit软件和协议的作用正在发生变化。网络上的Kermit用户希望拥有他们习惯的特性、功能和界面——特别是自动化特性——在目前只有FTP等工具可用的环境中使用——在无法使用FTP等标准软件的情况下更是如此。

An Internet Kermit Service can fill this role, and augment the data transfer power and flexibility of other Internet applications such as Web browsers:

Internet Kermit服务可以填补这一角色,并增强其他Internet应用程序(如Web浏览器)的数据传输能力和灵活性:

- Like FTP, Kermit provides a service that can be accessed from many different platforms with a consistent set of commands, but unlike FTP, these commands include programming constructions such as variables, arrays, looping and selection mechanisms, and local and remote procedure calls.

- 与FTP一样,Kermit提供的服务可以通过一组一致的命令从许多不同的平台访问,但与FTP不同,这些命令包括编程构造,如变量、数组、循环和选择机制以及本地和远程过程调用。

- Like FTP, Kermit provides both text- and binary-mode data transfer, as well as file management capabilities. But Kermit also offers numerous features lacking from FTP, such as

- 与FTP一样,Kermit提供文本和二进制模式的数据传输以及文件管理功能。但是Kermit也提供了FTP所缺乏的许多特性,例如

character-set translation, flexible file selection mechanisms, attribute preservation, and so on (see Section 5.3 for a longer list).

字符集转换、灵活的文件选择机制、属性保留等(更多列表请参见第5.3节)。

- Unlike standard FTP, Kermit can transfer data through multiple firewalls, proxies, and network address translators (NATs) on a single port.

- 与标准FTP不同,Kermit可以在一个端口上通过多个防火墙、代理和网络地址转换器(NAT)传输数据。

- Unlike FTP, Kermit can transfer data across a combination of transports (e.g. dial-up to a terminal server and thence to an Internet host).

- 与FTP不同,Kermit可以通过多种传输方式(例如,拨号到终端服务器,然后再从终端服务器到Internet主机)传输数据。

- Authentication and data transfer can take place over secure connections (mutually authenticated and encrypted) using established Telnet authentication and encryption options.

- 使用已建立的Telnet身份验证和加密选项,身份验证和数据传输可以通过安全连接(相互验证和加密)进行。

- Unlike traditional Kermit use over Telnet, anonymous access is possible, and the considerable overhead of the intervening Telnet server and pseudoterminal service is eliminated.

- 与传统Kermit在Telnet上的使用不同,匿名访问是可能的,并且消除了中间Telnet服务器和伪终端服务的大量开销。

Until now the primary obstacles to an Internet Kermit Service have been:

到目前为止,互联网Kermit服务的主要障碍是:

- Issues of authentication, privacy, and anonymous access. These have been addressed in our implementation, as described Section 4 of this document.

- 身份验证、隐私和匿名访问问题。如本文件第4节所述,这些问题已在我们的实施过程中得到解决。

- Issues of coordination and control. A Kermit software program can be in any of several "modes": at its command prompt or menu, awaiting commands from the user; in terminal mode, in which the user's keystrokes are sent to the remote computer or service; or in protocol mode, in which two Kermit programs communicate via well-defined Kermit packets [KER]. Commands or operations valid in one mode do not necessarily work in another. Until now, it has been the user's responsibility to switch modes at one or both ends of the connection as needed. A companion document [TKO] to this one specifies a mechanism to closely couple the client and server via Telnet protocol negotiations, allowing each to know the other's state and to switch to the appropriate mode automatically so a valid and useful relationship obtains at all times.

- 协调和控制问题。Kermit软件程序可以处于几种“模式”中的任意一种:在命令提示符或菜单上,等待用户的命令;在终端模式下,用户的击键被发送到远程计算机或服务;或者在协议模式下,两个Kermit程序通过定义良好的Kermit数据包[KER]进行通信。在一种模式下有效的命令或操作不一定在另一种模式下有效。到目前为止,用户有责任根据需要在连接的一端或两端切换模式。此文档的附带文档[TKO]指定了一种通过Telnet协议协商将客户机和服务器紧密耦合的机制,允许双方了解对方的状态并自动切换到适当的模式,以便始终获得有效和有用的关系。

- Lack of a standard TCP port. The "registered" port 1649 was assigned by IANA for this purpose (27 September 1995) and is named "Kermit". (renamed from "Inspect".)

- 缺少标准TCP端口。IANA为此(1995年9月27日)指定了“注册”1649港,并将其命名为“Kermit”。(从“检查”重命名)

3. THE INTERNET KERMIT SERVICE MODEL
3. INTERNET服务模型

The Internet Kermit Service (IKS) uses a standard Telnet [TEL] connection, in which all Telnet rules apply. Unlike FTP, which requires additional TCP connections, IKS uses a single channel for both signaling and data transfer. The connection is multiplexed via (a) Telnet options, and (b) Kermit protocol messages. This allows existing Telnet clients that also support the Kermit protocol, whether or not they support the Telnet Kermit Option [TKO], to use the IKS and take advantage of all relevant Telnet options including authentication and encryption.

Internet Kermit服务(IKS)使用标准的Telnet[TEL]连接,所有Telnet规则都适用于该连接。与需要额外TCP连接的FTP不同,IKS使用单一通道进行信令和数据传输。连接通过(a)Telnet选项和(b)Kermit协议消息进行多路复用。这允许也支持Kermit协议的现有Telnet客户端(无论是否支持Telnet Kermit选项[TKO])使用IKS并利用所有相关Telnet选项,包括身份验证和加密。

The system Internet services daemon (e.g. inetd) waits for a connection on the Kermit socket (1649) and then starts the IKS on the new connection. The IKS performs the familiar Telnet negotiations including the Telnet Kermit option. Unlike a standard Telnet server, the IKS does not support the ability to present the user with an interactive system shell. The Kermit socket is used only for file transfer and management functions provided by Kermit file transfer protocol and the Kermit script language.

系统Internet服务守护进程(例如inetd)等待Kermit套接字(1649)上的连接,然后在新连接上启动IKS。IKS执行熟悉的Telnet协商,包括Telnet Kermit选项。与标准Telnet服务器不同,IKS不支持向用户展示交互式系统外壳。Kermit套接字仅用于Kermit文件传输协议和Kermit脚本语言提供的文件传输和管理功能。

Once the connection is established, the Telnet Kermit Option is negotiated in both directions. The results determine which of the following configurations is used by the Telnet client and Server:

一旦建立连接,Telnet Kermit选项将在两个方向上协商。结果确定Telnet客户端和服务器使用以下哪种配置:

. Server-side Kermit Server (SKS) . Client-side Kermit Server (CKS) . No Kermit Server (NKS)

. 服务器端Kermit服务器(SKS)。客户端Kermit服务器(CKS)。没有Kermit服务器(NKS)

Different procedures and functions apply to each configuration. The configuration may be changed at any time by Telnet Kermit Option subnegotiations, which assure that the Telnet client and server are always in compatible states.

不同的程序和功能适用于每种配置。Telnet Kermit Option子协商可随时更改配置,以确保Telnet客户端和服务器始终处于兼容状态。

The three configurations are described in the following sections.

以下部分将介绍这三种配置。

3.1. Server-Side Kermit Server
3.1. 服务器端Kermit服务器

In the Server-Side Kermit Server (SKS) configuration, the Telnet server is the Kermit server and the Telnet client is the Kermit client. This configuration is used when both Telnet client and IKS support the Telnet Kermit Option and the IKS sends WILL KERMIT to the Telnet client and receives DO KERMIT from the Telnet client [TKO].

在服务器端Kermit服务器(SKS)配置中,Telnet服务器是Kermit服务器,Telnet客户端是Kermit客户端。当Telnet客户端和IKS都支持Telnet Kermit选项,并且IKS将Kermit发送到Telnet客户端并从Telnet客户端[TKO]接收DO Kermit时,使用此配置。

In this case, the IKS immediately starts a Kermit server and reports this to the Telnet client with a Telnet KERMIT START-SERVER subnegotiation.

在这种情况下,IKS立即启动Kermit服务器,并通过Telnet Kermit启动服务器子协商将此情况报告给Telnet客户端。

The SKS configuration is appropriate when the user wishes to interact only with the Telnet client's commands or menus.

当用户希望仅与Telnet客户端的命令或菜单交互时,SKS配置是合适的。

If authentication was not performed with one of the Telnet Authentication Option protocols, the Kermit server rejects all Kermit protocol operations (except REMOTE LOGIN, REMOTE HELP, REMOTE EXIT, BYE, or FINISH -- that is, the ones that request help, that log in, that close the connection, or that change the status of the connection) until:

如果未使用Telnet身份验证选项协议之一执行身份验证,Kermit服务器将拒绝所有Kermit协议操作(远程登录、远程帮助、远程退出、BYE或FINISH除外,即请求帮助、登录、关闭连接或更改连接状态的操作),直到:

- A Kermit REMOTE LOGIN command successfully authenticates the user;

- Kermit远程登录命令成功验证了用户;

- The login retry limit is reached;

- 已达到登录重试限制;

- A Kermit BYE or REMOTE EXIT command is received, which closes the connection;

- 接收到Kermit BYE或REMOTE EXIT命令,关闭连接;

- A Kermit FINISH command or a Telnet KERMIT REQ-KERMIT-STOP subnegotiation is received to request the IKS exit from Kermit server mode. At this point, the IKS can either exit and close the connection or issue an interactive login prompt, depending on how it was started or configured by the system administrator.

- 接收到Kermit FINISH命令或Telnet Kermit REQ-Kermit-STOP子协商,以请求IKS退出Kermit服务器模式。此时,IKS可以退出并关闭连接,也可以发出交互式登录提示,具体取决于系统管理员启动或配置的方式。

Once the user is authenticated:

一旦用户通过身份验证:

- The Telnet client configures itself for Kermit client/server operation, with itself as the Kermit client, communicating with the server only by Kermit packets, and optionally adjusting its menus or commands to eliminate functions (such as terminal emulation) that make no sense in this context.

- Telnet客户端将自身配置为Kermit客户端/服务器操作,自身作为Kermit客户端,仅通过Kermit数据包与服务器通信,并可选择调整其菜单或命令以消除在此上下文中没有意义的功能(如终端仿真)。

- The relationship persists until the Telnet client and IKS agree to terminate the Kermit server via Kermit protocol commands (BYE, FINISH, or REMOTE EXIT), or by Telnet Kermit Option subnegotiation, or by closing the connection.

- 这种关系一直存在,直到Telnet客户端和IKS同意通过Kermit协议命令(BYE、FINISH或REMOTE EXIT)或Telnet Kermit选项子协商或关闭连接来终止Kermit服务器。

3.2. Client-Side Kermit Server
3.2. 客户端Kermit服务器

In the Client-Side Kermit Server (CKS) configuration, the Telnet server is the Kermit client, and the Telnet client is the Kermit server. This configuration is used when the IKS has sent WONT KERMIT or SB KERMIT STOP-SERVER, and the Telnet Client has sent WILL KERMIT and SB KERMIT START-SERVER, indicating that it is prepared to accept and process Kermit protocol packets.

在客户端Kermit服务器(CKS)配置中,Telnet服务器是Kermit客户端,Telnet客户端是Kermit服务器。当IKS已发送WONT KERMIT或SB KERMIT STOP-SERVER,且Telnet客户端已发送WILL KERMIT和SB KERMIT START-SERVER,表明其准备接受和处理KERMIT协议数据包时,使用此配置。

In the CKS configuration, the Telnet client assumes the role of Kermit server by virtue of its ability to recognize and process Kermit protocol packets in its terminal emulator. Thus the Telnet

在CKS配置中,Telnet客户端凭借其在终端仿真器中识别和处理Kermit协议包的能力承担Kermit服务器的角色。因此Telnet

client must not send WILL KERMIT or the KERMIT START-SERVER subnegotiation unless its terminal emulator is capable of recognizing Kermit packets.

除非其终端仿真器能够识别KERMIT数据包,否则客户端不得发送WILL KERMIT或KERMIT启动服务器子协商。

If the IKS is at top command level (as opposed to executing a script), or when it reaches top level after finishing a script, it issues its interactive command prompt.

如果IKS处于顶层命令级别(与执行脚本相反),或者在完成脚本后达到顶层时,它会发出其交互式命令提示符。

At this point, the user may type commands or send scripted commands to the IKS command prompt. When a data-transfer command (such as SEND) is issued by the user at the IKS prompt, a Kermit packet is transmitted and recognized by the Telnet client, causing it to automatically perform the requested action (e.g. receive a file), and then resume its previous mode (terminal emulation or script execution) when the data transfer is complete.

此时,用户可以键入命令或向IKS命令提示符发送脚本命令。当用户在IKS提示符下发出数据传输命令(如发送)时,Telnet客户端将发送并识别Kermit数据包,使其自动执行请求的操作(例如接收文件),然后在数据传输完成后恢复其先前的模式(终端仿真或脚本执行)。

Thus, in the CKS configuration, data transfers are initiated by the IKS rather than by the Telnet client. This configuration is useful when the user prefers the command interface or repertoire of the server to that of the client.

因此,在CKS配置中,数据传输由IKS而不是Telnet客户端发起。当用户更喜欢服务器的命令界面或指令集而不是客户端的命令界面或指令集时,此配置非常有用。

If the IKS sends a Telnet KERMIT START-SERVER subnegotiation, the relationship switches automatically to Server-Side Kermit Server (Section 3.1), in which the Telnet client is the Kermit client and the Telnet server is the Kermit server.

如果IKS发送Telnet KERMIT启动-服务器子协商,关系将自动切换到服务器端KERMIT服务器(第3.1节),其中Telnet客户端为KERMIT客户端,Telnet服务器为KERMIT服务器。

If the Telnet client sends a KERMIT STOP-SERVER subnegotiation, the connection switches to No Kermit Server (Section 3.3) and the IKS issues its command prompt. At this point, neither side is a Kermit server, and both sides may optionally disable Kermit protocol commands. Subsequent user action can designate one side or the other as the Kermit server, as desired.

如果Telnet客户端发送KERMIT STOP-SERVER子协商,连接将切换到No KERMIT SERVER(第3.3节),IKS将发出其命令提示符。此时,任何一方都不是Kermit服务器,并且双方都可以选择禁用Kermit协议命令。后续的用户操作可以根据需要将一端或另一端指定为Kermit服务器。

3.3. No Kermit Server
3.3. 没有Kermit服务器

If both Telnet client and IKS send WONT KERMIT or SB KERMIT STOP-SERVER, or if the Kermit client and server are connected across multiple hosts or transports, thus precluding end-to-end Telnet negotiation, a Kermit server is not known to be available. In the KERMIT STOP-SERVER case, the Kermit partners can later switch back to SKS or CKS, but in the other two cases, there is no such signaling and loose coupling characterizes the entire session.

如果Telnet客户端和IKS都发送WONT KERMIT或SB KERMIT STOP-SERVER,或者如果KERMIT客户端和服务器跨多个主机或传输连接,从而排除了端到端Telnet协商,则不知道KERMIT服务器是否可用。在KERMIT停止服务器的情况下,KERMIT合作伙伴可以稍后切换回SKS或CKS,但在其他两种情况下,没有此类信令,整个会话都具有松散耦合的特征。

In the No Kermit Server (NKS) configuration, the IKS presents a command prompt to the Telnet client. As in the Client-Side Kermit Server configuration, plain-text commands are issued to the IKS.

在No-Kermit服务器(NKS)配置中,IKS向Telnet客户端提供命令提示符。在客户端Kermit服务器配置中,向IKS发出纯文本命令。

In the loosely coupled NKS configuration, the Telnet client does not know the state of the Telnet server, and so can not automatically adjust its commands and menus to present only valid choices, or automatically change its state to complement the server's; it is the user's responsibility to assure that the "mode" (command prompt, terminal emulation, server command wait) of each Kermit partner is appropriate for each action. Thus an Internet Kermit Server appears as an ordinary remote Kermit program to any Telnet client that does not implement the Telnet Kermit Option, or in which this feature is disabled or can not be used.

在松散耦合的NKS配置中,Telnet客户端不知道Telnet服务器的状态,因此无法自动调整其命令和菜单以仅显示有效选项,或自动更改其状态以补充服务器的功能;用户有责任确保每个Kermit合作伙伴的“模式”(命令提示符、终端仿真、服务器命令等待)适用于每个操作。因此,对于未实现Telnet Kermit选项的任何Telnet客户端,或在其中禁用或无法使用此功能的任何Telnet客户端,Internet Kermit服务器都会显示为普通远程Kermit程序。

The NKS configuration allows successful manual operation of the IKS through Telnet clients that do not support the Telnet Kermit Option. The Telnet client might or might not support Kermit "autodownload" and "autoupload"; if it does not, then the user is forced to manually issue command on both sides of the connection in the traditional and familiar manner [CKB,CMG,K95].

NKS配置允许通过不支持Telnet Kermit选项的Telnet客户端成功手动操作IKS。Telnet客户端可能支持也可能不支持Kermit“自动下载”和“自动上载”;如果没有,则用户被迫以传统和熟悉的方式在连接两侧手动发出命令[CKB、CMG、K95]。

4. SECURITY CONSIDERATIONS
4. 安全考虑
4.1. AUTHENTICATION
4.1. 认证

Authentication is provided via one or more of the following methods:

通过以下一种或多种方法提供身份验证:

- The Telnet AUTHENTICATION option;

- Telnet认证选项;

- The Telnet START_TLS option;

- Telnet启动\u TLS选项;

- Plaintext userid/password verification.

- 明文用户标识/密码验证。

4.1.1. Telnet Authentication option
4.1.1. Telnet身份验证选项

The use of one of the many Telnet authentication option methods removes the need to transmit passwords in plaintext across public networks. In addition, the exchange of user authentication information often provides a shared secret that can be used with the Telnet Encryption Option protocols to encrypt the connection in one or both directions.

使用多种Telnet身份验证选项方法中的一种,就不需要在公共网络上以明文形式传输密码。此外,用户身份验证信息的交换通常提供一个共享秘密,可与Telnet加密选项协议一起使用,以在一个或两个方向上加密连接。

Telnet authentication may also be used in conjunction with the Telnet START_TLS option to negotiate end user identity over the encrypted and host authenticated TLS channel.

Telnet身份验证还可与Telnet START_TLS选项结合使用,以通过加密和主机身份验证的TLS通道协商最终用户身份。

The IKS currently supports Kerberos 4, Kerberos 5, Secure Remote Password and Microsoft NTLM authentication methods via the Telnet AUTH option.

IKS目前通过Telnet AUTH选项支持Kerberos 4、Kerberos 5、安全远程密码和Microsoft NTLM身份验证方法。

4.1.2. Telnet over TLS option
4.1.2. Telnet over TLS选项

The Telnet START_TLS option provides for the negotiation and establishment of a TLS version 1 session after the initial telnet connection. The TLS connection provides host to client authentication via the use of X.509 certificate chains. TLS also supports optional client to host authentication using host verified X.509 certificates which may be used to authenticate a userid provided by the client or be mapped to a userid based upon properties of the certificate.

Telnet START_TLS选项用于在初始Telnet连接后协商和建立TLS版本1会话。TLS连接通过使用X.509证书链提供主机到客户端身份验证。TLS还支持使用主机验证的X.509证书进行可选的客户端到主机身份验证,该证书可用于验证客户端提供的用户ID,或根据证书的属性映射到用户ID。

4.1.3. Plaintext Authentication via Kermit REMOTE LOGIN
4.1.3. 通过Kermit远程登录进行明文身份验证

In the Server-Side Kermit Server configuration, if the client is not yet authenticated, the client must log in using a REMOTE LOGIN command, in which a Kermit packet containing user ID and password in clear text is sent from the Telnet client to the Telnet server, which then calls upon local mechanisms to authenticate the user. Any packets other than login (or REMOTE HELP, REMOTE EXIT, FINISH, or BYE) packets are rejected (returned with an error message) until the user is authenticated. If the number of unsuccessful login attempts exceeds the limit, the connection is closed. Many Kermit client programs support this login method already.

在服务器端Kermit服务器配置中,如果客户机尚未通过身份验证,则客户机必须使用远程登录命令登录,其中包含用户ID和密码的明文Kermit数据包从Telnet客户机发送到Telnet服务器,然后Telnet服务器调用本地机制对用户进行身份验证。除了登录(或远程帮助、远程退出、完成或再见)数据包之外的任何数据包都将被拒绝(返回错误消息),直到用户通过身份验证。如果不成功的登录尝试次数超过限制,则连接将关闭。许多Kermit客户端程序已经支持这种登录方法。

This method should be avoided whenever possible. If plaintext passwords are used, they should only be sent after the Telnet START-TLS option has been negotiated (see 4.2.2). Otherwise, passwords are open to packet sniffing.

应尽可能避免使用这种方法。如果使用纯文本密码,则仅应在协商Telnet START-TLS选项后发送密码(见4.2.2)。否则,密码将对数据包嗅探开放。

4.1.4. Plaintext Authentication via Command Prompt
4.1.4. 通过命令提示符进行明文身份验证

In the Client-Side Kermit Server and No Kermit Server configurations, the server presents the user with a plain-text interactive interface that begins with the server issuing "Username:" and "Password:" prompts, just as if the user were logging in to a multiuser timesharing system such as VMS or UNIX. When a password is not required an empty response can be given. Invalid username-password combinations result in a new series of prompts up to the login retry limit, and then disconnection.

在客户端Kermit服务器和无Kermit服务器配置中,服务器向用户提供纯文本交互界面,该界面以服务器发出“用户名:”和“密码:”提示开始,就像用户登录到多用户分时系统(如VMS或UNIX)一样。当不需要密码时,可以给出空响应。无效的用户名密码组合会导致一系列新的提示,直到达到登录重试限制,然后断开连接。

This method should be avoided whenever possible. If plaintext passwords are used, they should only be sent after the Telnet START-TLS option has been negotiated (see 4.2.2). Otherwise, passwords are open to packet sniffing.

应尽可能避免使用这种方法。如果使用纯文本密码,则仅应在协商Telnet START-TLS选项后发送密码(见4.2.2)。否则,密码将对数据包嗅探开放。

4.1.5. Anonymous Login
4.1.5. 匿名登录

When the username is "anonymous" or "ftp", the IKS behaves like an anonymous ftp server, in a manner appropriate to the underlying platform. In UNIX, for example, access is restricted to a designated area of the file system. A password might or might not be required, according to the preference of the site administrator.

当用户名为“匿名”或“ftp”时,IKS的行为类似于匿名ftp服务器,其方式适合于底层平台。例如,在UNIX中,访问限制在文件系统的指定区域。根据站点管理员的偏好,可能需要密码,也可能不需要密码。

If privacy is desired the Telnet START-TLS option should be used (see 4.2.2).

如果需要隐私,应使用Telnet START-TLS选项(见4.2.2)。

4.2. ENCRYPTION (PRIVACY)
4.2. 加密(隐私)

As the Internet becomes ever more public and susceptible to eavesdropping, it becomes increasingly necessary to provide methods for private access to services. Telnet provides two such mechanisms:

随着互联网变得越来越公开,越来越容易被窃听,越来越有必要提供私人访问服务的方法。Telnet提供了两种这样的机制:

. Telnet Encryption option . Telnet START-TLS option

. Telnet加密选项。Telnet启动TLS选项

4.2.1. Telnet Encryption option
4.2.1. Telnet加密选项

The Telnet Encryption option, although it has never achieved RFC status, has been used for years in conjunction with the Telnet Auth option in Telnet clients and servers that support Kerberos 4, Kerberos 5, Secure Remote Password, and others. The IKS currently supports the following encryption methods under the Telnet Encryption option:

Telnet加密选项虽然从未达到RFC状态,但多年来一直与支持Kerberos 4、Kerberos 5、安全远程密码等的Telnet客户端和服务器中的Telnet Auth选项一起使用。IKS目前在Telnet加密选项下支持以下加密方法:

. cast128_ofb64 . cast5_40_ofb64 . des_ofb64 . cast128_cfb64 . cast5_40_cfb64 . des_cfb64

. 卡斯特罗64。cast5_40_Ob64。des_Ob64。卡斯特128_cfb64。卡斯特5_40_cfb64。德苏

4.2.2. Telnet over TLS option
4.2.2. Telnet over TLS选项

Transport Layer Security (TLS), the successor to Secure Sockets Layer (SSL), provides methods to implement Server authentication, Client authentication, and Transport Layer encryption. Unlike Telnet Encryption, Start-TLS does not require the use of Telnet Authentication in order to provide a private channel. This means that it can be used in conjunction with plaintext passwords and anonymous connections.

传输层安全性(TLS)是安全套接字层(SSL)的继承者,它提供了实现服务器身份验证、客户端身份验证和传输层加密的方法。与Telnet加密不同,Start TLS不需要使用Telnet身份验证来提供专用通道。这意味着它可以与明文密码和匿名连接结合使用。

5. SERVICES
5. 服务

The Internet Kermit Service includes features for both users and system administrators. The IKS is incorporated into the 7.0 release of Columbia University's C-Kermit software, which is the "master" Kermit software program in terms of features and command language. An overview of C-Kermit can be found at:

Internet Kermit服务包括针对用户和系统管理员的功能。IKS被纳入哥伦比亚大学C-Kermit软件的7.0版本中,该软件在功能和命令语言方面是“大师级”Kermit软件程序。有关C-Kermit的概述,请访问:

     http://www.columbia.edu/kermit/ckermit.html
     http://www.kermit-project.org/ckermit.html
        
     http://www.columbia.edu/kermit/ckermit.html
     http://www.kermit-project.org/ckermit.html
        

When C-Kermit is employed as an Internet Kermit Service, it may offer all its functions to "real" users (those who are authenticated as specific users), and a safe subset of its functions to anonymous users.

当C-Kermit被用作Internet Kermit服务时,它可以向“真实”用户(那些被认证为特定用户的用户)提供其所有功能,并向匿名用户提供其功能的安全子集。

The Internet Kermit Service resembles an FTP server in that it performs its own authentication and uses a well-defined protocol to communicate with its client, but differs from the FTP server by also offering (at the system manager's discretion) an interactive user interface to the Telnet client when it is in terminal mode. It also differs from FTP in restricting all protocol messages and data transfer to a single socket connection.

Internet Kermit服务类似于FTP服务器,因为它执行自己的身份验证,并使用定义良好的协议与其客户端通信,但与FTP服务器不同的是,当Telnet客户端处于终端模式时,它还向Telnet客户端提供(由系统管理员自行决定)交互式用户界面。它也不同于FTP,它将所有协议消息和数据传输限制在单个套接字连接上。

An IKS has been deployed at Columbia University for worldwide public access to the Kermit FTP site:

哥伦比亚大学已部署IKS,供全球公众访问Kermit FTP站点:

     telnet://kermit.columbia.edu:1649/
     telnet://ftp.kermit-project.org:1649/
        
     telnet://kermit.columbia.edu:1649/
     telnet://ftp.kermit-project.org:1649/
        
5.1. Features for System Administrators
5.1. 系统管理员的功能

The system administrator can supply IKS configuration parameters as command-line options or in a configuration file, or both in combination. Such parameters include:

系统管理员可以将IKS配置参数作为命令行选项或在配置文件中提供,或两者结合提供。这些参数包括:

. Whether anonymous logins are allowed.

. 是否允许匿名登录。

. The file system or root directory to which anonymous users are restricted.

. 限制匿名用户访问的文件系统或根目录。

. Specification of permissions and other attributes to be assigned to files uploaded by anonymous users.

. 为匿名用户上载的文件指定权限和其他属性。

. Whether to make session entries in system logs.

. 是否在系统日志中创建会话条目。

. Specific services to disable: reception of files, sending of files, sending of email, printing, changing of directories, getting directory listings, deleting files, etc (see next section).

. 要禁用的特定服务:接收文件、发送文件、发送电子邮件、打印、更改目录、获取目录列表、删除文件等(请参阅下一节)。

. Whether access to the interactive command prompt is allowed.

. 是否允许访问交互式命令提示符。

5.2. Features for Users
5.2. 面向用户的功能

The IKS supports a wide range of services, including, but not limited to, the following:

IKS支持广泛的服务,包括但不限于以下内容:

. Authentication as a real user or anonymously.

. 以真实用户身份或匿名身份进行身份验证。

. Transmission of files to which read access is allowed.

. 传输允许读访问的文件。

. Reception of files into directories or devices to which write access is allowed.

. 将文件接收到允许写入的目录或设备中。

. The ability to display a file on the client's screen.

. 在客户端屏幕上显示文件的能力。

. Ability to list files.

. 能够列出文件。

. Ability to change its working (default) directory.

. 能够更改其工作(默认)目录。

. Ability to delete files to which write or delete access is allowed.

. 能够删除允许写入或删除的文件。

. Ability to rename and copy files

. 能够重命名和复制文件

. Ability to create and remove directories.

. 能够创建和删除目录。

. The ability to route received files to a specified printer, or to send them as email to a specified address list.

. 能够将接收到的文件路由到指定的打印机,或将其作为电子邮件发送到指定的地址列表。

. Client control of server parameter settings, within limits established by the server system administrator.

. 在服务器系统管理员设定的限制范围内,客户端控制服务器参数设置。

. Transmission of variables from client to server or vice versa.

. 将变量从客户端传输到服务器,或从客户端传输到服务器。

. Remote and local script execution.

. 远程和本地脚本执行。

. Remote and local procedure execution.

. 远程和本地过程执行。

File transfer features include:

文件传输功能包括:

. Kermit text-mode transfers incorporate not only record-format conversion, but also character-set translation;

. Kermit文本模式传输不仅包括记录格式转换,还包括字符集转换;

. Kermit can switch automatically between text and binary mode on a per-file basis when sending groups of files.

. 当发送文件组时,Kermit可以根据每个文件自动在文本和二进制模式之间切换。

. A selection of file collision options, including "make backup copy of existing file and accept incoming file", "reject incoming file", "accept incoming file only if newer than existing file", etc.

. 选择文件冲突选项,包括“备份现有文件并接受传入文件”、“拒绝传入文件”、“仅当传入文件比现有文件新时才接受传入文件”等。

. Numerous methods for selecting the files to be transferred, including pattern matching, lists of filenames (or patterns), exception lists, date and/or size ranges, etc.

. 选择要传输的文件的多种方法,包括模式匹配、文件名(或模式)列表、异常列表、日期和/或大小范围等。

. Filename conversion and file renaming.

. 文件名转换和文件重命名。

. Automatic directory creation if elected and enabled.

. 如果选择并启用,则自动创建目录。

. Standard mechanisms for directory traversal, allowing transmission of entire directory trees or other file hierarchies even between unlike file systems such as VMS, UNIX, and Windows.

. 目录遍历的标准机制,允许在不同的文件系统(如VM、UNIX和Windows)之间传输整个目录树或其他文件层次结构。

. Atomic file movement: optionally, the source file can be deleted (or renamed, or moved) when and only when it has been transferred successfully.

. 原子文件移动:当且仅当成功传输源文件时,才可以删除(或重命名或移动)源文件(可选)。

. Kermit can retain file attributes including time stamps and permissions (at the user's or system administrator's discretion), even between unlike platforms;

. Kermit可以保留文件属性,包括时间戳和权限(由用户或系统管理员决定),即使在不同的平台之间;

. Recovery of interrupted transfers from the point of failure.

. 从故障点恢复中断的传输。

. File-transfer pipes and filters.

. 文件传输管道和过滤器。

Script programming features include:

脚本编程功能包括:

. Macros with parameter substitution.

. 带有参数替换的宏。

. Built-in and user-defined variables and arrays, with global or local scope.

. 内置和用户定义的变量和数组,具有全局或局部作用域。

. Built-in and user-defined functions. Built-in functions include:

. 内置和用户定义的函数。内置功能包括:

- String functions - Arithmetic functions - Date / time functions - File functions

- 字符串函数-算术函数-日期/时间函数-文件函数

. Input search for multiple simultaneous targets.

. 输入搜索多个同时目标。

. IF-ELSE, WHILE, FOR, SWITCH, GOTO, C-like block structure.

. IF-ELSE、WHILE、FOR、SWITCH、GOTO、C类块结构。

. Every command returns a completion status that may be tested and used as a basis for subsequent actions.

. 每个命令都返回一个完成状态,该状态可被测试并用作后续操作的基础。

5.3. User Interface
5.3. 用户界面

The Internet Kermit Service uses the Kermit command and script language, as implemented in Columbia University's C-Kermit communication software [CKB]. This program and its command language are portable to all known varieties of UNIX, as well as to Windows 95/98/NT, OS/2, Digital (Open)VMS, Stratus VOS, Data General AOS/VS, Plan 9, OS-9, QNX, the Commodore Amiga, and other platforms. The C-Kermit command language is a superset of that of other Kermit software programs including MS-DOS Kermit for DOS and Windows 3.x, IBM Mainframe Kermit for VM/CMS, MVS/TSO, CICS, and MUSIC, PDP-11 Kermit for RT-11, RSTS/E, RSX-11, and IAS, and dozens of other Kermit programs.

Internet Kermit服务使用哥伦比亚大学C-Kermit通信软件[CKB]中实现的Kermit命令和脚本语言。该程序及其命令语言可移植到所有已知种类的UNIX,以及Windows 95/98/NT、OS/2、数字(开放)虚拟机、Stratus VOS、Data General AOS/VS、Plan 9、OS-9、QNX、Commodore Amiga和其他平台。C-Kermit命令语言是其他Kermit软件程序的超集,包括MS-DOS Kermit for DOS和Windows 3.x、IBM大型机Kermit for VM/CMS、MVS/TSO、CICS和MUSIC、PDP-11 Kermit for RT-11、RSTS/E、RSX-11和IAS,以及数十个其他Kermit程序。

It is far beyond the scope of this document to enumerate, let alone describe, the commands and services of C-Kermit; this is the subject of a 600-page book [CKB], augmented by hundreds of pages of online material. A brief overview is included here.

列举(更不用说描述)C-Kermit的命令和服务远远超出了本文的范围;这是一本600页的书[CKB]的主题,数百页的在线资料补充了这一主题。这里包括一个简要概述。

Commands are based on English words. There is no plan at present to support other natural languages (Italian, Portuguese, Norwegian, Russian, Hebrew, Japanese, Cherokee, etc) as alternative bases for command words, since this would reduce the portability of scripts. However, since the command language includes a macro capability, macros may be defined to provide selected commands in different languages if desired.

命令基于英语单词。目前没有计划支持其他自然语言(意大利语、葡萄牙语、挪威语、俄语、希伯来语、日语、切罗基语等)作为命令词的替代基础,因为这将降低脚本的可移植性。但是,由于命令语言包含宏功能,如果需要,可以定义宏以提供不同语言的选定命令。

Certain commands can apply either locally or remotely, for example "CD" (Change Directory). The convention is to prefix the command with the word REMOTE if it is to apply remotely. Example: "cd foo" changes to the "foo" directory on the computer where the command was given; "remote cd foo" sends a Kermit packet to the Kermit server requesting it to change its directory to "foo". The commands in this category include:

某些命令可以在本地或远程应用,例如“CD”(更改目录)。惯例是,如果要远程应用,则在命令前面加上单词REMOTE。示例:“cd foo”更改为发出命令的计算机上的“foo”目录;“remote cd foo”向Kermit服务器发送一个Kermit数据包,请求它将其目录更改为“foo”。此类别中的命令包括:

     ASSIGN <variable> <value>      Assign a value to a variable.
     CD <directory>                 Change working directory.
     COPY <files> <destination>     Copy file(s)
     DELETE <files>                 Delete file(s)
     DIRECTORY [ <pattern> ]        List file(s)
     EXIT                           Exit
     HELP [ <topic-or-command> ]    Display help text
     MKDIR <directory>              Create a directory
     PRINT <files>                  Print file(s)
     PWD                            Print working directory
     RENAME <old> <new>             Rename file(s)
     RMDIR <directory>              Remove a directory
     SET <parameter> <value>        Change a parameter's value
     TYPE <file>                    Display the contents of a file
        
     ASSIGN <variable> <value>      Assign a value to a variable.
     CD <directory>                 Change working directory.
     COPY <files> <destination>     Copy file(s)
     DELETE <files>                 Delete file(s)
     DIRECTORY [ <pattern> ]        List file(s)
     EXIT                           Exit
     HELP [ <topic-or-command> ]    Display help text
     MKDIR <directory>              Create a directory
     PRINT <files>                  Print file(s)
     PWD                            Print working directory
     RENAME <old> <new>             Rename file(s)
     RMDIR <directory>              Remove a directory
     SET <parameter> <value>        Change a parameter's value
     TYPE <file>                    Display the contents of a file
        

As a convenience, REMOTE commands also have short synonyms: RASSIGN, RCD, RCOPY, RDELETE, and so forth.

为了方便起见,远程命令也有简短的同义词:RASSIGN、RCD、RCOPY、RDELETE等等。

The basic file transfer commands are:

基本文件传输命令包括:

     SEND [ modifiers ] <files>    Send file(s) (to server)
     GET [ modifiers ] <files>     Get file(s) (from server)
        
     SEND [ modifiers ] <files>    Send file(s) (to server)
     GET [ modifiers ] <files>     Get file(s) (from server)
        

These commands take a file name, pattern, or list, plus various optional modifiers, including transfer mode specifiers (text, binary), file selectors (date, size, exception list), aliasing, name and path options, disposition specifiers, and so on.

这些命令采用文件名、模式或列表,以及各种可选的修改器,包括传输模式说明符(文本、二进制)、文件选择器(日期、大小、异常列表)、别名、名称和路径选项、处置说明符等。

In addition to the commands listed above, the following commands are sent by the client to the server:

除了上面列出的命令外,客户端还将以下命令发送到服务器:

REMOTE QUERY Get value of variable or procedure BYE Log out and close the connection FINISH Request the server leave server mode

远程查询通过注销获取变量或过程的值并关闭连接完成请求服务器离开服务器模式

Like all Kermit client/server commands, these can be disabled if desired.

与所有Kermit客户机/服务器命令一样,如果需要,可以禁用这些命令。

Of course there are numerous other commands with purely local effect, such as the many scripting commands. These, plus all the commands above, are fully documented in [CKB]. The repertoire grows over time, but never in a way that invalidates existing scripts.

当然,还有许多其他纯本地效果的命令,例如许多脚本命令。这些命令以及上述所有命令都在[CKB]中有完整的文档记录。剧目会随着时间的推移而增长,但决不会使现有脚本失效。

The system administrator can allow or forbid access to any of these features, and to the command language as a whole. In the latter case, the IKS may be accessed only as a Kermit server, by giving commands to the client.

系统管理员可以允许或禁止访问这些功能中的任何一项,以及整个命令语言。在后一种情况下,通过向客户机发出命令,只能作为Kermit服务器访问IKS。

6. REFERENCES
6. 参考资料

[TKO] Altman, J. and F. da Cruz, "Telnet Kermit Option", RFC 2840, May 2000.

[TKO]Altman,J.和F.da Cruz,“Telnet Kermit期权”,RFC 28402000年5月。

[BCP] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[BCP]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[KER] da Cruz, Frank, "Kermit, A File Transfer Protocol", Digital Press/ Butterworth Heinemann, Newton, MA (1987). 379 pages, ISBN 0-932376-88-6.

[KER]da Cruz,Frank,“Kermit,一种文件传输协议”,数字出版社/马萨诸塞州牛顿巴特沃斯·海涅曼(1987年)。379页,ISBN 0-932376-88-6。

[CKB] da Cruz, Frank, and Christine M. Gianone, "Using C-Kermit", Second Edition, Digital Press / Butterworth-Heinemann, Woburn, MA (1997). 622 pages, ISBN 1-55558-164-1.

[CKB]达·克鲁兹、弗兰克和克里斯蒂娜·吉亚诺,“使用C-Kermit”,第二版,数字出版社/巴特沃斯·海涅曼,沃伯恩,马萨诸塞州(1997年)。622页,ISBN 1-55558-164-1。

[CMG] Gianone, Christine M., "Using MS-DOS Kermit", Second Edition, Digital Press / Butterworth-Heinemann, Woburn, MA (1992). 345 pages, ISBN 1-55558-082-3.

[CMG]Gianone,Christine M.“使用MS-DOS Kermit”,第二版,数字出版社/巴特沃斯·海涅曼,沃伯恩,马萨诸塞州(1992年)。345页,ISBN 1-55558-082-3。

[K95] Gianone, Christine M., and Frank da Cruz, "Kermit 95", Manning Publications, Greenwich CT, (1996). 88 pages, ISBN 1-884777- 14-7.

[K95]Gianone,Christine M.和Frank da Cruz,“Kermit 95”,曼宁出版社,格林威治CT,(1996年)。88页,ISBN 1-884777-14-7。

[PRF] Huggins, James K., "Kermit Protocol - Formal Specification and Verification", in Boerger, E., "Specification and Validation Methods", Oxford University Press (1995). ISBN 0-19-853854-5.

[PRF]Huggins,James K.,“Kermit协议-形式规范和验证”,Boerger,E.,“规范和验证方法”,牛津大学出版社(1995年)。ISBN 0-19-853854-5。

[FTP] Postel, J. and J. Reynolds, "File Transfer Protocol (FTP)", STD 9, RFC 959, October 1985.

[FTP]Postel,J.和J.Reynolds,“文件传输协议(FTP)”,STD 9,RFC 959,1985年10月。

[TEL] Postel, J. and J. Reynolds, "Telnet Protocol Specification", STD 8, RFC854, May 1983, et seq.; "Telnet Option Specification", STD 8, RFC855, May 1983, et seq.

[TEL]Postel,J.和J.Reynolds,“Telnet协议规范”,STD 8,RFC854,1983年5月等。;“Telnet选项规范”,STD 8,RFC855,1983年5月等。

   [IAN] Internet Assigned Numbers Authority:
         http://www.iana.org/numbers.html
         http://www.iana.org/assignment/port-numbers
        
   [IAN] Internet Assigned Numbers Authority:
         http://www.iana.org/numbers.html
         http://www.iana.org/assignment/port-numbers
        
7. AUTHORS' ADDRESSES
7. 作者地址

Frank da Cruz

弗兰克·达克鲁兹

   EMail: fdc@columbia.edu
        
   EMail: fdc@columbia.edu
        

Jeffrey E. Altman

杰弗里·E·奥特曼

EMail:jaltman@columbia.edu

电邮:jaltman@columbia.edu

   The Kermit Project
   Columbia University
   612 West 115th Street
   New York NY 10025-7799
   USA
   http://www.columbia.edu/kermit/
   http://www.kermit-project.org/
        
   The Kermit Project
   Columbia University
   612 West 115th Street
   New York NY 10025-7799
   USA
   http://www.columbia.edu/kermit/
   http://www.kermit-project.org/
        
8. Full Copyright Statement
8. 完整版权声明

Copyright (C) The Internet Society (2000). All Rights Reserved.

版权所有(C)互联网协会(2000年)。版权所有。

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

本文件及其译本可复制并提供给他人,对其进行评论或解释或协助其实施的衍生作品可全部或部分编制、复制、出版和分发,不受任何限制,前提是上述版权声明和本段包含在所有此类副本和衍生作品中。但是,不得以任何方式修改本文件本身,例如删除版权通知或对互联网协会或其他互联网组织的引用,除非出于制定互联网标准的需要,在这种情况下,必须遵循互联网标准过程中定义的版权程序,或根据需要将其翻译成英语以外的其他语言。

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

上述授予的有限许可是永久性的,互联网协会或其继承人或受让人不会撤销。

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。