draft-ietf-secsh-assignednumbers-12.txt   rfc4250.txt 
Network Working Group S. Lehtinen Network Working Group S. Lehtinen
Internet-Draft SSH Communications Security Corp Request for Comments: 4250 SSH Communications Security Corp
Expires: September 15, 2005 C. Lonvick, Ed. Category: Standards Track C. Lonvick, Ed.
Cisco Systems, Inc. Cisco Systems, Inc.
March 14, 2005 January 2006
SSH Protocol Assigned Numbers
draft-ietf-secsh-assignednumbers-12.txt
Status of this Memo
This document is an Internet-Draft and is subject to all provisions
of Section 3 of RFC 3667. By submitting this Internet-Draft, each
author represents that any applicable patent or other IPR claims of
which he or she is aware have been or will be disclosed, and any of
which he or she become aware will be disclosed, in accordance with
RFC 3668.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as
Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
The list of current Internet-Drafts can be accessed at The Secure Shell (SSH) Protocol Assigned Numbers
http://www.ietf.org/ietf/1id-abstracts.txt.
The list of Internet-Draft Shadow Directories can be accessed at Status of This Memo
http://www.ietf.org/shadow.html.
This Internet-Draft will expire on September 15, 2005. This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2005). Copyright (C) The Internet Society (2006).
Abstract Abstract
This document defines the instructions to the IANA and the initial This document defines the instructions to the IANA and the initial
state of the IANA assigned numbers for the SSH protocol. It is state of the IANA assigned numbers for the Secure Shell (SSH)
intended only for the initialization of the IANA registries protocol. It is intended only for the initialization of the IANA
referenced in the documents. registries referenced in the set of SSH documents.
Table of Contents Table of Contents
1. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 4 1. Introduction ....................................................2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Contributors ....................................................3
3. Conventions Used in This Document . . . . . . . . . . . . . 4 3. Conventions Used in This Document ...............................3
3.1 RFC2119 Keywords . . . . . . . . . . . . . . . . . . . . . 4 3.1. RFC 2119 Keywords ..........................................3
3.2 RFC2434 Keywords . . . . . . . . . . . . . . . . . . . . . 4 3.2. RFC 2434 Keywords ..........................................3
3.3 Protocol Fields and Values . . . . . . . . . . . . . . . . 5 3.3. Protocol Fields and Values .................................4
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . 6 4. IANA Considerations .............................................5
4.1 Message Numbers . . . . . . . . . . . . . . . . . . . . . 7 4.1. Message Numbers ............................................5
4.1.1 Conventions . . . . . . . . . . . . . . . . . . . . . 7 4.1.1. Conventions .........................................5
4.1.2 Initial Assignments . . . . . . . . . . . . . . . . . 8 4.1.2. Initial Assignments .................................6
4.1.3 Future Assignments . . . . . . . . . . . . . . . . . . 8 4.1.3. Future Assignments ..................................6
4.2 Disconnection Messages Reason Codes and Descriptions . . . 9 4.2. Disconnection Messages Reason Codes and Descriptions .......7
4.2.1 Conventions . . . . . . . . . . . . . . . . . . . . . 9 4.2.1. Conventions .........................................7
4.2.2 Initial Assignments . . . . . . . . . . . . . . . . . 9 4.2.2. Initial Assignments .................................7
4.2.3 Future Assignments . . . . . . . . . . . . . . . . . . 10 4.2.3. Future Assignments ..................................8
4.3 Channel Connection Failure Reason Codes and Descriptions . 10 4.3. Channel Connection Failure Reason Codes and Descriptions ...8
4.3.1 Conventions . . . . . . . . . . . . . . . . . . . . . 10 4.3.1. Conventions .........................................8
4.3.2 Initial Assignments . . . . . . . . . . . . . . . . . 10 4.3.2. Initial Assignments .................................8
4.3.3 Future Assignments . . . . . . . . . . . . . . . . . . 10 4.3.3. Future Assignments ..................................8
4.3.4 Notes about the PRIVATE USE Range . . . . . . . . . . 11 4.3.4. Notes about the PRIVATE USE Range ...................9
4.4 Extended Channel Data Transfer data_type_code and Data . . 11 4.4. Extended Channel Data Transfer data_type_code and Data .....9
4.4.1 Conventions . . . . . . . . . . . . . . . . . . . . . 11 4.4.1. Conventions .........................................9
4.4.2 Initial Assignments . . . . . . . . . . . . . . . . . 11 4.4.2. Initial Assignments ................................10
4.4.3 Future Assignments . . . . . . . . . . . . . . . . . . 12 4.4.3. Future Assignments .................................10
4.5 Pseudo-Terminal Encoded Terminal Modes . . . . . . . . . . 12 4.5. Pseudo-Terminal Encoded Terminal Modes ....................10
4.5.1 Conventions . . . . . . . . . . . . . . . . . . . . . 12 4.5.1. Conventions ........................................10
4.5.2 Initial Assignments . . . . . . . . . . . . . . . . . 12 4.5.2. Initial Assignments ................................10
4.5.3 Future Assignments . . . . . . . . . . . . . . . . . . 14 4.5.3. Future Assignments .................................12
4.6 Names . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.6. Names .....................................................12
4.6.1 Conventions for Names . . . . . . . . . . . . . . . . 14 4.6.1. Conventions for Names ..............................13
4.6.2 Future Assignments of Names . . . . . . . . . . . . . 15 4.6.2. Future Assignments of Names ........................13
4.7 Service Names . . . . . . . . . . . . . . . . . . . . . . 15 4.7. Service Names .............................................13
4.8 Authentication Method Names . . . . . . . . . . . . . . . 15 4.8. Authentication Method Names ...............................14
4.9 Connection Protocol Assigned Names . . . . . . . . . . . . 16 4.9. Connection Protocol Assigned Names ........................14
4.9.1 Connection Protocol Channel Types . . . . . . . . . . 16 4.9.1. Connection Protocol Channel Types ..................14
4.9.2 Connection Protocol Global Request Names . . . . . . . 16 4.9.2. Connection Protocol Global Request Names ...........14
4.9.3 Connection Protocol Channel Request Names . . . . . . 16 4.9.3. Connection Protocol Channel Request Names ..........15
4.9.4 Initial Assignment of Signal Names . . . . . . . . . . 17 4.9.4. Initial Assignment of Signal Names .................15
4.9.5 Connection Protocol Subsystem Names . . . . . . . . . 17 4.9.5. Connection Protocol Subsystem Names ................15
4.10 Key Exchange Method Names . . . . . . . . . . . . . . . 17 4.10. Key Exchange Method Names ................................16
4.11 Assigned Algorithm Names . . . . . . . . . . . . . . . . 18 4.11. Assigned Algorithm Names .................................16
4.11.1 Encryption Algorithm Names . . . . . . . . . . . . . 18 4.11.1. Encryption Algorithm Names ........................16
4.11.2 MAC Algorithm Names . . . . . . . . . . . . . . . . 18 4.11.2. MAC Algorithm Names ...............................17
4.11.3 Public Key Algorithm Names . . . . . . . . . . . . . 19 4.11.3. Public Key Algorithm Names ........................17
4.11.4 Compression Algorithm Names . . . . . . . . . . . . 19 4.11.4. Compression Algorithm Names .......................17
5. Security Considerations . . . . . . . . . . . . . . . . . . 19 5. Security Considerations ........................................17
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 6. References .....................................................18
6.1 Normative References . . . . . . . . . . . . . . . . . . . 19 6.1. Normative References ......................................18
6.2 Informative References . . . . . . . . . . . . . . . . . . 20 6.2. Informative References ....................................18
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses ................................................19
A. Trademark Notice . . . . . . . . . . . . . . . . . . . . . . 21 Trademark Notice ..................................................19
Intellectual Property and Copyright Statements . . . . . . . 22
1. Contributors 1. Introduction
This document does not define any new protocols. It is intended only
to create the initial state of the IANA databases for the SSH
protocol and also contains instructions for future assignments.
Except for one HISTORIC algorithm generally regarded as obsolete,
this document does not define any new protocols or number ranges not
already defined in: [SSH-ARCH], [SSH-TRANS], [SSH-USERAUTH],
[SSH-CONNECT].
2. Contributors
The major original contributors of this set of documents have been: The major original contributors of this set of documents have been:
Tatu Ylonen, Tero Kivinen, Timo J. Rinne, Sami Lehtinen (all of SSH Tatu Ylonen, Tero Kivinen, Timo J. Rinne, Sami Lehtinen (all of SSH
Communications Security Corp), and Markku-Juhani O. Saarinen Communications Security Corp), and Markku-Juhani O. Saarinen
(University of Jyvaskyla). Darren Moffit was the original editor of (University of Jyvaskyla). Darren Moffat was the original editor of
this set of documents and also made very substantial contributions. this set of documents and also made very substantial contributions.
Many people contributed to the development of this document over the Many people contributed to the development of this document over the
years. People who should be acknowledged include Mats Andersson, Ben years. People who should be acknowledged include Mats Andersson, Ben
Harris, Brent McClure, Niels Moller, Damien Miller, Derek Fawcus, Harris, Bill Sommerfeld, Brent McClure, Niels Moller, Damien Miller,
Frank Cusack, Heikki Nousiainen, Jakob Schlyter, Jeff Van Dyke, Derek Fawcus, Frank Cusack, Heikki Nousiainen, Jakob Schlyter, Jeff
Jeffrey Altman, Jeffrey Hutzelman, Jon Bright, Joseph Galbraith, Ken Van Dyke, Jeffrey Altman, Jeffrey Hutzelman, Jon Bright, Joseph
Hornstein, Markus Friedl, Martin Forssen, Nicolas Williams, Niels Galbraith, Ken Hornstein, Markus Friedl, Martin Forssen, Nicolas
Provos, Perry Metzger, Peter Gutmann, Simon Josefsson, Simon Tatham, Williams, Niels Provos, Perry Metzger, Peter Gutmann, Simon
Wei Dai, Denis Bider, der Mouse, and Tadayoshi Kohno. Listing their Josefsson, Simon Tatham, Wei Dai, Denis Bider, der Mouse, and
names here does not mean that they endorse this document, but that Tadayoshi Kohno. Listing their names here does not mean that they
they have contributed to it. endorse this document, but that they have contributed to it.
2. Introduction
This document does not define any new protocols. It is intended only
to create the initial state of the IANA databases for the SSH
protocol and also contains instructions for future assignments.
Except for one HISTORIC algorithm generally regarded as obsolete,
this document does not define any new protocols or any number ranges
not already defined in: [SSH-ARCH], [SSH-TRANS], [SSH-USERAUTH],
[SSH-CONNECT].
3. Conventions Used in This Document 3. Conventions Used in This Document
3.1 RFC2119 Keywords 3.1. RFC 2119 Keywords
All documents related to the SSH protocols shall use the keywords All documents related to the SSH protocols shall use the keywords
"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
"SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" to describe "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" to describe
requirements. These keywords are to be interpreted as described in requirements. These keywords are to be interpreted as described in
[RFC2119]. [RFC2119].
3.2 RFC2434 Keywords 3.2. RFC 2434 Keywords
The keywords "PRIVATE USE", "HIERARCHICAL ALLOCATION", "FIRST COME The keywords "PRIVATE USE", "HIERARCHICAL ALLOCATION", "FIRST COME
FIRST SERVED", "EXPERT REVIEW", "SPECIFICATION REQUIRED", "IESG FIRST SERVED", "EXPERT REVIEW", "SPECIFICATION REQUIRED", "IESG
APPROVAL", "IETF CONSENSUS", and "STANDARDS ACTION" that appear in APPROVAL", "IETF CONSENSUS", and "STANDARDS ACTION" that appear in
this document when used to describe namespace allocation are to be this document when used to describe namespace allocation are to be
interpreted as described in [RFC2434]. These designations are interpreted as described in [RFC2434]. These designations are
repeated in this document for clarity. repeated in this document for clarity.
PRIVATE USE - For private or local use only, with the type and PRIVATE USE - For private or local use only, with the type and
purpose defined by the local site. No attempt is made to prevent purpose defined by the local site. No attempt is made to prevent
skipping to change at page 5, line 44 skipping to change at page 4, line 37
IETF CONSENSUS - New values are assigned through the IETF consensus IETF CONSENSUS - New values are assigned through the IETF consensus
process. Specifically, new assignments are made via RFCs approved by process. Specifically, new assignments are made via RFCs approved by
the IESG. Typically, the IESG will seek input on prospective the IESG. Typically, the IESG will seek input on prospective
assignments from appropriate persons (e.g., a relevant Working Group assignments from appropriate persons (e.g., a relevant Working Group
if one exists). if one exists).
STANDARDS ACTION - Values are assigned only for Standards Track RFCs STANDARDS ACTION - Values are assigned only for Standards Track RFCs
approved by the IESG. approved by the IESG.
3.3 Protocol Fields and Values 3.3. Protocol Fields and Values
Protocol fields and possible values to fill them are defined in this Protocol fields and possible values to fill them are defined in this
set of documents. Protocol fields will be defined in the message set of documents. Protocol fields will be defined in the message
definitions. As an example, SSH_MSG_CHANNEL_DATA is defined as definitions. As an example, SSH_MSG_CHANNEL_DATA is defined as
follows. follows.
byte SSH_MSG_CHANNEL_DATA byte SSH_MSG_CHANNEL_DATA
uint32 recipient channel uint32 recipient channel
string data string data
Throughout these documents, when the fields are referenced, they will Throughout these documents, when the fields are referenced, they will
appear within single quotes. When values to fill those fields are appear within single quotes. When values to fill those fields are
referenced, they will appear within double quotes. Using the above referenced, they will appear within double quotes. Using the above
example, possible values for 'data' are "foo" and "bar". example, possible values for 'data' are "foo" and "bar".
4. IANA Considerations 4. IANA Considerations
This entire document is the IANA considerations for the SSH protocol This entire document is the IANA considerations for the SSH protocol,
as is defined in [SSH-ARCH], [SSH-TRANS], [SSH-USERAUTH], as defined in [SSH-ARCH], [SSH-TRANS], [SSH-USERAUTH], [SSH-CONNECT].
[SSH-CONNECT]. This section contains conventions used in naming the This section contains conventions used in naming the namespaces, the
namespaces, the initial state of the registry, and instructions for initial state of the registry, and instructions for future
future assignments. assignments.
4.1 Message Numbers 4.1. Message Numbers
The Message Number is a byte value, which describes the payload of a The Message Number is a byte value that describes the payload of a
packet. packet.
4.1.1 Conventions 4.1.1. Conventions
Protocol packets have message numbers in the range 1 to 255. These Protocol packets have message numbers in the range 1 to 255. These
numbers are allocated as follows: numbers are allocated as follows:
Transport layer protocol: Transport layer protocol:
1 to 19 Transport layer generic (e.g., disconnect, ignore, 1 to 19 Transport layer generic (e.g., disconnect, ignore,
debug, etc.) debug, etc.)
20 to 29 Algorithm negotiation 20 to 29 Algorithm negotiation
30 to 49 Key exchange method specific (numbers can be reused 30 to 49 Key exchange method specific (numbers can be reused
skipping to change at page 8, line 5 skipping to change at page 6, line 5
90 to 127 Channel related messages 90 to 127 Channel related messages
Reserved for client protocols: Reserved for client protocols:
128 to 191 Reserved 128 to 191 Reserved
Local extensions: Local extensions:
192 to 255 Local extensions 192 to 255 Local extensions
4.1.2 Initial Assignments 4.1.2. Initial Assignments
The following table identifies the initial assignments of the Message The following table identifies the initial assignments of the Message
ID values. ID values.
Message ID Value Reference Message ID Value Reference
----------- ----- --------- ----------- ----- ---------
SSH_MSG_DISCONNECT 1 [SSH-TRANS] SSH_MSG_DISCONNECT 1 [SSH-TRANS]
SSH_MSG_IGNORE 2 [SSH-TRANS] SSH_MSG_IGNORE 2 [SSH-TRANS]
SSH_MSG_UNIMPLEMENTED 3 [SSH-TRANS] SSH_MSG_UNIMPLEMENTED 3 [SSH-TRANS]
SSH_MSG_DEBUG 4 [SSH-TRANS] SSH_MSG_DEBUG 4 [SSH-TRANS]
SSH_MSG_SERVICE_REQUEST 5 [SSH-TRANS] SSH_MSG_SERVICE_REQUEST 5 [SSH-TRANS]
SSH_MSG_SERVICE_ACCEPT 6 [SSH-TRANS] SSH_MSG_SERVICE_ACCEPT 6 [SSH-TRANS]
SSH_MSG_KEXINIT 20 [SSH-TRANS] SSH_MSG_KEXINIT 20 [SSH-TRANS]
SSH_MSG_NEWKEYS 21 [SSH-TRANS] SSH_MSG_NEWKEYS 21 [SSH-TRANS]
SSH_MSG_KEXDH_INIT 30 [SSH-TRANS]
SSH_MSG_KEXDH_REPLY 31 [SSH-TRANS]
SSH_MSG_USERAUTH_REQUEST 50 [SSH-USERAUTH] SSH_MSG_USERAUTH_REQUEST 50 [SSH-USERAUTH]
SSH_MSG_USERAUTH_FAILURE 51 [SSH-USERAUTH] SSH_MSG_USERAUTH_FAILURE 51 [SSH-USERAUTH]
SSH_MSG_USERAUTH_SUCCESS 52 [SSH-USERAUTH] SSH_MSG_USERAUTH_SUCCESS 52 [SSH-USERAUTH]
SSH_MSG_USERAUTH_BANNER 53 [SSH-USERAUTH] SSH_MSG_USERAUTH_BANNER 53 [SSH-USERAUTH]
SSH_MSG_GLOBAL_REQUEST 80 [SSH-CONNECT] SSH_MSG_GLOBAL_REQUEST 80 [SSH-CONNECT]
SSH_MSG_REQUEST_SUCCESS 81 [SSH-CONNECT] SSH_MSG_REQUEST_SUCCESS 81 [SSH-CONNECT]
SSH_MSG_REQUEST_FAILURE 82 [SSH-CONNECT] SSH_MSG_REQUEST_FAILURE 82 [SSH-CONNECT]
SSH_MSG_CHANNEL_OPEN 90 [SSH-CONNECT] SSH_MSG_CHANNEL_OPEN 90 [SSH-CONNECT]
SSH_MSG_CHANNEL_OPEN_CONFIRMATION 91 [SSH-CONNECT] SSH_MSG_CHANNEL_OPEN_CONFIRMATION 91 [SSH-CONNECT]
SSH_MSG_CHANNEL_OPEN_FAILURE 92 [SSH-CONNECT] SSH_MSG_CHANNEL_OPEN_FAILURE 92 [SSH-CONNECT]
SSH_MSG_CHANNEL_WINDOW_ADJUST 93 [SSH-CONNECT] SSH_MSG_CHANNEL_WINDOW_ADJUST 93 [SSH-CONNECT]
SSH_MSG_CHANNEL_DATA 94 [SSH-CONNECT] SSH_MSG_CHANNEL_DATA 94 [SSH-CONNECT]
SSH_MSG_CHANNEL_EXTENDED_DATA 95 [SSH-CONNECT] SSH_MSG_CHANNEL_EXTENDED_DATA 95 [SSH-CONNECT]
SSH_MSG_CHANNEL_EOF 96 [SSH-CONNECT] SSH_MSG_CHANNEL_EOF 96 [SSH-CONNECT]
SSH_MSG_CHANNEL_CLOSE 97 [SSH-CONNECT] SSH_MSG_CHANNEL_CLOSE 97 [SSH-CONNECT]
SSH_MSG_CHANNEL_REQUEST 98 [SSH-CONNECT] SSH_MSG_CHANNEL_REQUEST 98 [SSH-CONNECT]
SSH_MSG_CHANNEL_SUCCESS 99 [SSH-CONNECT] SSH_MSG_CHANNEL_SUCCESS 99 [SSH-CONNECT]
SSH_MSG_CHANNEL_FAILURE 100 [SSH-CONNECT] SSH_MSG_CHANNEL_FAILURE 100 [SSH-CONNECT]
4.1.3 Future Assignments 4.1.3. Future Assignments
Requests for assignments of new message numbers in the range of 1 to Requests for assignments of new message numbers in the range of 1 to
29, 50 to 59, and 80 to 127 MUST be done through the STANDARDS ACTION 29, 50 to 59, and 80 to 127 MUST be done through the STANDARDS ACTION
method as described in [RFC2434]. method, as described in [RFC2434].
The meanings of message numbers in the range of 30 to 49 are specific The meanings of message numbers in the range of 30 to 49 are specific
to the key exchange method in use, and their meaning will be to the key exchange method in use, and their meaning will be
specified by the definition of that method. specified by the definition of that method.
The meanings of message numbers in the range of 60 to 79 are specific The meanings of message numbers in the range of 60 to 79 are specific
to the user authentication method in use, and their meaning will be to the user authentication method in use, and their meaning will be
specified by the definition of that method. specified by the definition of that method.
Requests for assignments of new message numbers in the range of 128 Requests for assignments of new message numbers in the range of 128
to 191 MUST be done through the IETF CONSENSUS method as described in to 191 MUST be done through the IETF CONSENSUS method, as described
[RFC2434]. in [RFC2434].
The IANA will not control the message numbers range of 192 through The IANA will not control the message numbers in the range of 192
255. This range will be left for PRIVATE USE. through 255. This range will be left for PRIVATE USE.
4.2 Disconnection Messages Reason Codes and Descriptions 4.2. Disconnection Messages Reason Codes and Descriptions
The Disconnection Message 'reason code' is a uint32 value. The The Disconnection Message 'reason code' is a uint32 value. The
associated Disconnection Message 'description' is a human-readable associated Disconnection Message 'description' is a human-readable
message which describes the disconnect reason. message that describes the disconnect reason.
4.2.1 Conventions 4.2.1. Conventions
Protocol packets containing the SSH_MSG_DISCONNECT message MUST have Protocol packets containing the SSH_MSG_DISCONNECT message MUST have
Disconnection Message 'reason code' values in the range of 0x00000001 Disconnection Message 'reason code' values in the range of 0x00000001
to 0xFFFFFFFF. These are described in [SSH-TRANS]. to 0xFFFFFFFF. These are described in [SSH-TRANS].
4.2.2 Initial Assignments 4.2.2. Initial Assignments
The following table identifies the initial assignments of the The following table identifies the initial assignments of the
SSH_MSG_DISCONNECT 'description' and 'reason code' values. SSH_MSG_DISCONNECT 'description' and 'reason code' values.
Symbolic Name reason code Symbolic Name reason code
------------- ----------- ------------- -----------
SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT 1 SSH_DISCONNECT_HOST_NOT_ALLOWED_TO_CONNECT 1
SSH_DISCONNECT_PROTOCOL_ERROR 2 SSH_DISCONNECT_PROTOCOL_ERROR 2
SSH_DISCONNECT_KEY_EXCHANGE_FAILED 3 SSH_DISCONNECT_KEY_EXCHANGE_FAILED 3
SSH_DISCONNECT_RESERVED 4 SSH_DISCONNECT_RESERVED 4
skipping to change at page 10, line 5 skipping to change at page 8, line 5
SSH_DISCONNECT_SERVICE_NOT_AVAILABLE 7 SSH_DISCONNECT_SERVICE_NOT_AVAILABLE 7
SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED 8 SSH_DISCONNECT_PROTOCOL_VERSION_NOT_SUPPORTED 8
SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE 9 SSH_DISCONNECT_HOST_KEY_NOT_VERIFIABLE 9
SSH_DISCONNECT_CONNECTION_LOST 10 SSH_DISCONNECT_CONNECTION_LOST 10
SSH_DISCONNECT_BY_APPLICATION 11 SSH_DISCONNECT_BY_APPLICATION 11
SSH_DISCONNECT_TOO_MANY_CONNECTIONS 12 SSH_DISCONNECT_TOO_MANY_CONNECTIONS 12
SSH_DISCONNECT_AUTH_CANCELLED_BY_USER 13 SSH_DISCONNECT_AUTH_CANCELLED_BY_USER 13
SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE 14 SSH_DISCONNECT_NO_MORE_AUTH_METHODS_AVAILABLE 14
SSH_DISCONNECT_ILLEGAL_USER_NAME 15 SSH_DISCONNECT_ILLEGAL_USER_NAME 15
4.2.3 Future Assignments 4.2.3. Future Assignments
Disconnection Message 'reason code' values MUST be assigned Disconnection Message 'reason code' values MUST be assigned
sequentially. Requests for assignments of new Disconnection Message sequentially. Requests for assignments of new Disconnection Message
'reason code' values, and their associated Disconnection Message 'reason code' values, and their associated Disconnection Message
'description' text, in the range of 0x00000010 through 0xFDFFFFFF 'description' text, in the range of 0x00000010 through 0xFDFFFFFF,
MUST be done through the IETF CONSENSUS method as described in MUST be done through the IETF CONSENSUS method, as described in
[RFC2434]. The IANA will not assign Disconnection Message 'reason [RFC2434]. The IANA will not assign Disconnection Message 'reason
code' values in the range of 0xFE000000 through 0xFFFFFFFF. code' values in the range of 0xFE000000 through 0xFFFFFFFF.
Disconnection Message 'reason code' values in that range are left for Disconnection Message 'reason code' values in that range are left for
PRIVATE USE as described in [RFC2434]. PRIVATE USE, as described in [RFC2434].
4.3 Channel Connection Failure Reason Codes and Descriptions 4.3. Channel Connection Failure Reason Codes and Descriptions
The Channel Connection Failure 'reason code' is a uint32 value. The The Channel Connection Failure 'reason code' is a uint32 value. The
associated Channel Connection Failure 'description' text is a associated Channel Connection Failure 'description' text is a human-
human-readable message which describes the channel connection failure readable message that describes the channel connection failure
reason. This is described in [SSH-CONNECT]. reason. This is described in [SSH-CONNECT].
4.3.1 Conventions 4.3.1. Conventions
Protocol packets containing the SSH_MSG_CHANNEL_OPEN_FAILURE message Protocol packets containing the SSH_MSG_CHANNEL_OPEN_FAILURE message
MUST have Channel Connection Failure 'reason code' values in the MUST have Channel Connection Failure 'reason code' values in the
range of 0x00000001 to 0xFFFFFFFF. range of 0x00000001 to 0xFFFFFFFF.
4.3.2 Initial Assignments 4.3.2. Initial Assignments
The initial assignments for the 'reason code' values and The initial assignments for the 'reason code' values and
'description' values are given in the table below. Note that the 'description' values are given in the table below. Note that the
values for the 'reason code' are given in decimal format for values for the 'reason code' are given in decimal format for
readability but that they are actually uint32 values. readability, but they are actually uint32 values.
Symbolic Name reason code Symbolic Name reason code
------------- ----------- ------------- -----------
SSH_OPEN_ADMINISTRATIVELY_PROHIBITED 1 SSH_OPEN_ADMINISTRATIVELY_PROHIBITED 1
SSH_OPEN_CONNECT_FAILED 2 SSH_OPEN_CONNECT_FAILED 2
SSH_OPEN_UNKNOWN_CHANNEL_TYPE 3 SSH_OPEN_UNKNOWN_CHANNEL_TYPE 3
SSH_OPEN_RESOURCE_SHORTAGE 4 SSH_OPEN_RESOURCE_SHORTAGE 4
4.3.3 Future Assignments 4.3.3. Future Assignments
Channel Connection Failure 'reason code' values MUST be assigned Channel Connection Failure 'reason code' values MUST be assigned
sequentially. Requests for assignments of new Channel Connection sequentially. Requests for assignments of new Channel Connection
Failure 'reason code' values, and their associated Channel Connection Failure 'reason code' values, and their associated Channel Connection
Failure 'description string', in the range of 0x00000005 to Failure 'description string', in the range of 0x00000005 to
0xFDFFFFFF MUST be done through the IETF CONSENSUS method as 0xFDFFFFFF MUST be done through the IETF CONSENSUS method, as
described in [RFC2434]. The IANA will not assign Channel Connection described in [RFC2434]. The IANA will not assign Channel Connection
Failure 'reason code' values in the range of 0xFE000000 to Failure 'reason code' values in the range of 0xFE000000 to
0xFFFFFFFF. Channel Connection Failure 'reason code' values in that 0xFFFFFFFF. Channel Connection Failure 'reason code' values in that
range are left for PRIVATE USE as described in [RFC2434]. range are left for PRIVATE USE, as described in [RFC2434].
4.3.4 Notes about the PRIVATE USE Range 4.3.4. Notes about the PRIVATE USE Range
While it is understood that the IANA will have no control over the While it is understood that the IANA will have no control over the
range of 0xFE000000 to 0xFFFFFFFF, this range will be split in two range of 0xFE000000 to 0xFFFFFFFF, this range will be split in two
parts and administered by the following conventions. parts and administered by the following conventions.
o The range of 0xFE000000 to 0xFEFFFFFF is to be used in conjunction o The range of 0xFE000000 to 0xFEFFFFFF is to be used in conjunction
with locally assigned channels. For example: if a channel is with locally assigned channels. For example, if a channel is
proposed with a 'channel type' of "example_session@example.com" proposed with a 'channel type' of "example_session@example.com"
but fails, then the server will respond with either a 'reason but fails, then the server will respond with either a 'reason
code' assigned by the IANA (as listed above and in the range of code' assigned by the IANA (as listed above and in the range of
0x00000001 to 0xFDFFFFFF), or with a locally assigned value in the 0x00000001 to 0xFDFFFFFF), or with a locally assigned value in the
range of 0xFE000000 to 0xFEFFFFFF. Naturally, if the server does range of 0xFE000000 to 0xFEFFFFFF. Naturally, if the server does
not understand the proposed 'channel type', even if it is a not understand the proposed 'channel type', even if it is a
locally defined 'channel type', then the 'reason code' MUST be locally defined 'channel type', then the 'reason code' MUST be
0x00000003 as described above. If the server does understand the 0x00000003, as described above. If the server does understand the
'channel type' but the channel still fails to open, then the 'channel type', but the channel still fails to open, then the
server SHOULD respond with a locally assigned 'reason code' value server SHOULD respond with a locally assigned 'reason code' value
consistent with the proposed, local 'channel type'. It is assumed that is consistent with the proposed local 'channel type'. It is
that practitioners will first attempt to use the IANA assigned assumed that practitioners will first attempt to use the IANA-
'reason code' values and then document their locally assigned assigned 'reason code' values and then document their locally
'reason code' values. assigned 'reason code' values.
o There are no restrictions or suggestions for the range starting o There are no restrictions or suggestions for the range starting
with 0xFF. No interoperability is expected for anything used in with 0xFF. No interoperability is expected for anything used in
this range. Essentially it is for experimentation. this range. Essentially, it is for experimentation.
4.4 Extended Channel Data Transfer data_type_code and Data 4.4. Extended Channel Data Transfer data_type_code and Data
The Extended Channel Data Transfer 'data_type_code' is an uint23 The Extended Channel Data Transfer 'data_type_code' is a uint32
value. The associated Extended Channel Data Transfer 'data' is a value. The associated Extended Channel Data Transfer 'data' is a
human-readable message which describes the type of data allowed to be human-readable message that describes the type of data allowed to be
transferred in the channel. transferred in the channel.
4.4.1 Conventions 4.4.1. Conventions
Protocol packets containing the SSH_MSG_CHANNEL_EXTENDED_DATA message Protocol packets containing the SSH_MSG_CHANNEL_EXTENDED_DATA message
MUST have Extended Channel Data Transfer 'data_type_code' values in MUST have Extended Channel Data Transfer 'data_type_code' values in
the range of 0x00000001 to 0xFFFFFFFF. This is described in the range of 0x00000001 to 0xFFFFFFFF. This is described in
[SSH-CONNECT]. [SSH-CONNECT].
4.4.2 Initial Assignments 4.4.2. Initial Assignments
The initial assignments for the 'data_type_code' values and 'data' The initial assignments for the 'data_type_code' values and 'data'
values are given in the table below. Note that the value for the values are given in the table below. Note that the value for the
'data_type_code' is given in decimal format for readability but that 'data_type_code' is given in decimal format for readability, but the
the values are actually uint32 values. values are actually uint32 values.
Symbolic name data_type_code Symbolic name data_type_code
------------- -------------- ------------- --------------
SSH_EXTENDED_DATA_STDERR 1 SSH_EXTENDED_DATA_STDERR 1
4.4.3 Future Assignments 4.4.3. Future Assignments
Extended Channel Data Transfer 'data_type_code' values MUST be Extended Channel Data Transfer 'data_type_code' values MUST be
assigned sequentially. Requests for assignments of new Extended assigned sequentially. Requests for assignments of new Extended
Channel Data Transfer 'data_type_code' values, and their associated Channel Data Transfer 'data_type_code' values, and their associated
Extended Channel Data Transfer 'data' strings, in the range of Extended Channel Data Transfer 'data' strings, in the range of
0x00000002 to 0xFDFFFFFF MUST be done through the IETF CONSENSUS 0x00000002 to 0xFDFFFFFF, MUST be done through the IETF CONSENSUS
method as described in [RFC2434]. The IANA will not assign Extended method, as described in [RFC2434]. The IANA will not assign Extended
Channel Data Transfer 'data_type_code' values in the range of Channel Data Transfer 'data_type_code' values in the range of
0xFE000000 to 0xFFFFFFFF. Extended Channel Data Transfer 0xFE000000 to 0xFFFFFFFF. Extended Channel Data Transfer
'data_type_code' values in that range are left for PRIVATE USE as 'data_type_code' values in that range are left for PRIVATE USE, as
described in [RFC2434]. described in [RFC2434].
4.5 Pseudo-Terminal Encoded Terminal Modes 4.5. Pseudo-Terminal Encoded Terminal Modes
SSH_MSG_CHANNEL_REQUEST messages with a "pty-req" string MUST contain SSH_MSG_CHANNEL_REQUEST messages with a "pty-req" string MUST contain
"encoded terminal modes". These "encoded terminal modes" are 'encoded terminal modes'. The 'encoded terminal modes' value is a
opcode-argument pairs consisting of an opcode and an argument. byte stream of opcode-argument pairs.
4.5.1 Conventions 4.5.1. Conventions
Protocol packets containing the SSH_MSG_CHANNEL_REQUEST message with Protocol packets containing the SSH_MSG_CHANNEL_REQUEST message with
a "pty-req" string MUST contain "encoded terminal modes" with an a "pty-req" string MUST contain an 'encoded terminal modes' value.
opcode of 1 byte. The opcode values are in the range of 1 to 255. The opcode values consist of a single byte and are in the range of 1
Opcodes 1 to 159 have a single uint32 argument. Opcodes 160 to 255 to 255. Opcodes 1 to 159 have a uint32 argument. Opcodes 160 to 255
are not yet defined. are not yet defined.
4.5.2 Initial Assignments 4.5.2. Initial Assignments
The following table identifies the initial assignments of the opcode The following table identifies the initial assignments of the opcode
and argument values which make up the "encoded terminal modes" values that are used in the 'encoded terminal modes' value.
values.
opcode argument description opcode mnemonic description
------ -------- ----------- ------ -------- -----------
0 TTY_OP_END Indicates end of options. 0 TTY_OP_END Indicates end of options.
1 VINTR Interrupt character; 255 if none. Similarly 1 VINTR Interrupt character; 255 if none. Similarly
for the other characters. Not all of these for the other characters. Not all of these
characters are supported on all systems. characters are supported on all systems.
2 VQUIT The quit character (sends SIGQUIT signal on 2 VQUIT The quit character (sends SIGQUIT signal on
POSIX systems). POSIX systems).
3 VERASE Erase the character to left of the cursor. 3 VERASE Erase the character to left of the cursor.
4 VKILL Kill the current input line. 4 VKILL Kill the current input line.
5 VEOF End-of-file character (sends EOF from the 5 VEOF End-of-file character (sends EOF from the
terminal). terminal).
6 VEOL End-of-line character in addition to 6 VEOL End-of-line character in addition to
carriage return and/or linefeed. carriage return and/or linefeed.
7 VEOL2 Additional end-of-line character. 7 VEOL2 Additional end-of-line character.
8 VSTART Continues paused output (normally 8 VSTART Continues paused output (normally
skipping to change at page 14, line 29 skipping to change at page 12, line 37
90 CS7 7 bit mode. 90 CS7 7 bit mode.
91 CS8 8 bit mode. 91 CS8 8 bit mode.
92 PARENB Parity enable. 92 PARENB Parity enable.
93 PARODD Odd parity, else even. 93 PARODD Odd parity, else even.
128 TTY_OP_ISPEED Specifies the input baud rate in 128 TTY_OP_ISPEED Specifies the input baud rate in
bits per second. bits per second.
129 TTY_OP_OSPEED Specifies the output baud rate in 129 TTY_OP_OSPEED Specifies the output baud rate in
bits per second. bits per second.
4.5.3 Future Assignments 4.5.3. Future Assignments
Requests for assignments of new opcodes and their associated Requests for assignments of new opcodes and their associated
arguments MUST be done through the IETF CONSENSUS method as described arguments MUST be done through the IETF CONSENSUS method, as
in [RFC2434]. described in [RFC2434].
4.6 Names 4.6. Names
In the following sections, the values for the name spaces are In the following sections, the values for the name spaces are
textual. The conventions and instructions to the IANA for future textual. The conventions and instructions to the IANA for future
assignments are given in this section. The initial assignments are assignments are given in this section. The initial assignments are
given in their respective sections. given in their respective sections.
4.6.1 Conventions for Names 4.6.1. Conventions for Names
All names registered by the IANA in the following sections MUST be All names registered by the IANA in the following sections MUST be
printable US-ASCII strings, and MUST NOT contain the characters printable US-ASCII strings, and MUST NOT contain the characters at-
at-sign ("@"), comma (","), or whitespace or control characters sign ("@"), comma (","), whitespace, control characters (ASCII codes
(ASCII codes 32 or less). Names are case-sensitive, and MUST NOT be 32 or less), or the ASCII code 127 (DEL). Names are case-sensitive,
longer than 64 characters. and MUST NOT be longer than 64 characters.
A provision is made here for locally extensible names. The IANA will A provision is made here for locally extensible names. The IANA will
not register, and will not control names with the at-sign in them. not register, and will not control, names with the at-sign in them.
Names with the at-sign in them will have the format of Names with the at-sign in them will have the format of
"name@domainname" (without the double quotes) where the part "name@domainname" (without the double quotes) where the part
preceeding the at-sign is the name. The format of the part preceding preceding the at-sign is the name. The format of the part preceding
the at-sign is not specified, however these names MUST be printable the at-sign is not specified; however, these names MUST be printable
US-ASCII strings, and MUST NOT contain the comma character (","), or US-ASCII strings, and MUST NOT contain the comma character (","),
whitespace, or control characters (ASCII codes 32 or less). The part whitespace, control characters (ASCII codes 32 or less), or the ASCII
following the at-sign MUST be a valid, fully qualified internet code 127 (DEL). They MUST have only a single at-sign in them. The
part following the at-sign MUST be a valid, fully qualified internet
domain name [RFC1034] controlled by the person or organization domain name [RFC1034] controlled by the person or organization
defining the name. Names are case-sensitive, and MUST NOT be longer defining the name. Names are case-sensitive, and MUST NOT be longer
than 64 characters. It is up to each domain how it manages its local than 64 characters. It is up to each domain how it manages its local
namespace. It has been noted that these names resemble STD 11 namespace. It has been noted that these names resemble STD 11
[RFC0822] email addresses. This is purely coincidental and actually [RFC0822] email addresses. This is purely coincidental and has
has nothing to do with STD 11 [RFC0822]. An example of a locally nothing to do with STD 11 [RFC0822]. An example of a locally defined
defined name is "ourcipher-cbc@example.com" (without the double name is "ourcipher-cbc@example.com" (without the double quotes).
quotes).
4.6.2 Future Assignments of Names 4.6.2. Future Assignments of Names
Requests for assignments of new Names MUST be done through the IETF Requests for assignments of new names MUST be done through the IETF
CONSENSUS method as described in [RFC2434]. CONSENSUS method, as described in [RFC2434].
4.7 Service Names 4.7. Service Names
The Service Name is used to describe a protocol layer. The following The 'service name' is used to describe a protocol layer. The
table lists the initial assignments of the Service Names. following table lists the initial assignments of the 'service name'
values.
Service Name Reference Service Name Reference
------------- --------- ------------- ---------
ssh-userauth [SSH-USERAUTH] ssh-userauth [SSH-USERAUTH]
ssh-connection [SSH-CONNECT] ssh-connection [SSH-CONNECT]
4.8 Authentication Method Names 4.8. Authentication Method Names
The Authentication Method Name is used to describe an authentication The Authentication Method Name is used to describe an authentication
method for the "ssh-userauth" service [SSH-USERAUTH]. The following method for the "ssh-userauth" service [SSH-USERAUTH]. The following
table identifies the initial assignments of the Authentication Method table identifies the initial assignments of the Authentication Method
Names. Names.
Method Name Reference Method Name Reference
------------ --------- ------------ ---------
publickey [SSH-USERAUTH, Section 7] publickey [SSH-USERAUTH, Section 7]
password [SSH-USERAUTH, Section 8] password [SSH-USERAUTH, Section 8]
hostbased [SSH-USERAUTH, Section 9] hostbased [SSH-USERAUTH, Section 9]
none [SSH-USERAUTH, Section 5.2] none [SSH-USERAUTH, Section 5.2]
4.9 Connection Protocol Assigned Names 4.9. Connection Protocol Assigned Names
The following table lists the initial assignments of the Connection The following table lists the initial assignments to the Connection
Protocol Type and Request names. Protocol Type and Request names.
4.9.1 Connection Protocol Channel Types 4.9.1. Connection Protocol Channel Types
The following table lists the initial assignments of the Connection The following table lists the initial assignments of the Connection
Protocol Channel Types. Protocol Channel Types.
Channel type Reference Channel type Reference
------------ --------- ------------ ---------
session [SSH-CONNECT, Section 6.1] session [SSH-CONNECT, Section 6.1]
x11 [SSH-CONNECT, Section 6.3.2] x11 [SSH-CONNECT, Section 6.3.2]
forwarded-tcpip [SSH-CONNECT, Section 7.2] forwarded-tcpip [SSH-CONNECT, Section 7.2]
direct-tcpip [SSH-CONNECT, Section 7.2] direct-tcpip [SSH-CONNECT, Section 7.2]
4.9.2 Connection Protocol Global Request Names 4.9.2. Connection Protocol Global Request Names
The following table lists the initial assignments of the Connection The following table lists the initial assignments of the Connection
Protocol Global Request Names. Protocol Global Request Names.
Request type Reference Request type Reference
------------ --------- ------------ ---------
tcpip-forward [SSH-CONNECT, Section 7.1] tcpip-forward [SSH-CONNECT, Section 7.1]
cancel-tcpip-forward [SSH-CONNECT, Section 7.1] cancel-tcpip-forward [SSH-CONNECT, Section 7.1]
4.9.3 Connection Protocol Channel Request Names 4.9.3. Connection Protocol Channel Request Names
The following table lists the initial assignments of the Connection The following table lists the initial assignments of the Connection
Protocol Channel Request Names. Protocol Channel Request Names.
Request type Reference Request type Reference
------------ --------- ------------ ---------
pty-req [SSH-CONNECT, Section 6.2] pty-req [SSH-CONNECT, Section 6.2]
x11-req [SSH-CONNECT, Section 6.3.1] x11-req [SSH-CONNECT, Section 6.3.1]
env [SSH-CONNECT, Section 6.4] env [SSH-CONNECT, Section 6.4]
shell [SSH-CONNECT, Section 6.5] shell [SSH-CONNECT, Section 6.5]
exec [SSH-CONNECT, Section 6.5] exec [SSH-CONNECT, Section 6.5]
subsystem [SSH-CONNECT, Section 6.5] subsystem [SSH-CONNECT, Section 6.5]
window-change [SSH-CONNECT, Section 6.7] window-change [SSH-CONNECT, Section 6.7]
xon-xoff [SSH-CONNECT, Section 6.8] xon-xoff [SSH-CONNECT, Section 6.8]
signal [SSH-CONNECT, Section 6.9] signal [SSH-CONNECT, Section 6.9]
exit-status [SSH-CONNECT, Section 6.10] exit-status [SSH-CONNECT, Section 6.10]
exit-signal [SSH-CONNECT, Section 6.10] exit-signal [SSH-CONNECT, Section 6.10]
4.9.4 Initial Assignment of Signal Names 4.9.4. Initial Assignment of Signal Names
The following table lists the initial assignments of the Signal The following table lists the initial assignments of the Signal
Names. Names.
Signal Reference Signal Reference
------ --------- ------ ---------
ABRT [SSH-CONNECT] ABRT [SSH-CONNECT]
ALRM [SSH-CONNECT] ALRM [SSH-CONNECT]
FPE [SSH-CONNECT] FPE [SSH-CONNECT]
HUP [SSH-CONNECT] HUP [SSH-CONNECT]
ILL [SSH-CONNECT] ILL [SSH-CONNECT]
INT [SSH-CONNECT] INT [SSH-CONNECT]
KILL [SSH-CONNECT] KILL [SSH-CONNECT]
PIPE [SSH-CONNECT] PIPE [SSH-CONNECT]
QUIT [SSH-CONNECT] QUIT [SSH-CONNECT]
SEGV [SSH-CONNECT] SEGV [SSH-CONNECT]
TERM [SSH-CONNECT] TERM [SSH-CONNECT]
USR1 [SSH-CONNECT] USR1 [SSH-CONNECT]
USR2 [SSH-CONNECT] USR2 [SSH-CONNECT]
4.9.5 Connection Protocol Subsystem Names 4.9.5. Connection Protocol Subsystem Names
There are no initial assignments of Connection Protocol Subsystem There are no initial assignments of the Connection Protocol Subsystem
Names. Names.
4.10 Key Exchange Method Names 4.10. Key Exchange Method Names
The name "diffie-hellman-group1-sha1" is used for a key exchange The name "diffie-hellman-group1-sha1" is used for a key exchange
method using an Oakley group as defined in [RFC2409]. SSH maintains method using an Oakley group, as defined in [RFC2409]. SSH maintains
its own group identifier space which is logically distinct from its own group identifier space, which is logically distinct from
Oakley [RFC2412] and IKE; however, for one additional group, the Oakley [RFC2412] and IKE; however, for one additional group, the
Working Group adopted the number assigned by [RFC3526], using Working Group adopted the number assigned by [RFC3526], using
diffie-hellman-group14-sha1 for the name of the second defined group. "diffie-hellman-group14-sha1" for the name of the second defined
Implementations should treat these names as opaque identifiers and group. Implementations should treat these names as opaque
should not assume any relationship between the groups used by SSH and identifiers and should not assume any relationship between the groups
the groups defined for IKE. used by SSH and the groups defined for IKE.
The following table identifies the initial assignments of the The following table identifies the initial assignments of the key
key-exchange methods. exchange methods.
Method name Reference Method name Reference
------------ --------- ------------ ---------
diffie-hellman-group1-sha1 [SSH-TRANS, Section 8.1] diffie-hellman-group1-sha1 [SSH-TRANS, Section 8.1]
diffie-hellman-group14-sha1 [SSH-TRANS, Section 8.2] diffie-hellman-group14-sha1 [SSH-TRANS, Section 8.2]
4.11 Assigned Algorithm Names 4.11. Assigned Algorithm Names
4.11.1 Encryption Algorithm Names 4.11.1. Encryption Algorithm Names
The following table identifies the initial assignment of the The following table identifies the initial assignment of the
Encryption Algorithm Names. Encryption Algorithm Names.
Encryption Algorithm Name Reference Encryption Algorithm Name Reference
------------------------- --------- ------------------------- ---------
3des-cbc [SSH-TRANS, Section 6.3] 3des-cbc [SSH-TRANS, Section 6.3]
blowfish-cbc [SSH-TRANS, Section 6.3] blowfish-cbc [SSH-TRANS, Section 6.3]
twofish256-cbc [SSH-TRANS, Section 6.3] twofish256-cbc [SSH-TRANS, Section 6.3]
twofish-cbc [SSH-TRANS, Section 6.3] twofish-cbc [SSH-TRANS, Section 6.3]
skipping to change at page 18, line 30 skipping to change at page 16, line 50
aes256-cbc [SSH-TRANS, Section 6.3] aes256-cbc [SSH-TRANS, Section 6.3]
aes192-cbc [SSH-TRANS, Section 6.3] aes192-cbc [SSH-TRANS, Section 6.3]
aes128-cbc [SSH-TRANS, Section 6.3] aes128-cbc [SSH-TRANS, Section 6.3]
serpent256-cbc [SSH-TRANS, Section 6.3] serpent256-cbc [SSH-TRANS, Section 6.3]
serpent192-cbc [SSH-TRANS, Section 6.3] serpent192-cbc [SSH-TRANS, Section 6.3]
serpent128-cbc [SSH-TRANS, Section 6.3] serpent128-cbc [SSH-TRANS, Section 6.3]
arcfour [SSH-TRANS, Section 6.3] arcfour [SSH-TRANS, Section 6.3]
idea-cbc [SSH-TRANS, Section 6.3] idea-cbc [SSH-TRANS, Section 6.3]
cast128-cbc [SSH-TRANS, Section 6.3] cast128-cbc [SSH-TRANS, Section 6.3]
none [SSH-TRANS, Section 6.3] none [SSH-TRANS, Section 6.3]
of [FIPS 46-3] des-cbc [FIPS-46-3] HISTORIC; See
page 4 of [FIPS-46-3]
4.11.2 MAC Algorithm Names 4.11.2. MAC Algorithm Names
The following table identifies the initial assignments of the MAC The following table identifies the initial assignments of the MAC
Algorithm Names. Algorithm Names.
MAC Algorithm Name Reference MAC Algorithm Name Reference
------------------ --------- ------------------ ---------
hmac-sha1 [SSH-TRANS, Section 6.4] hmac-sha1 [SSH-TRANS, Section 6.4]
hmac-sha1-96 [SSH-TRANS, Section 6.4] hmac-sha1-96 [SSH-TRANS, Section 6.4]
hmac-md5 [SSH-TRANS, Section 6.4] hmac-md5 [SSH-TRANS, Section 6.4]
hmac-md5-96 [SSH-TRANS, Section 6.4] hmac-md5-96 [SSH-TRANS, Section 6.4]
none [SSH-TRANS, Section 6.4] none [SSH-TRANS, Section 6.4]
4.11.3 Public Key Algorithm Names 4.11.3. Public Key Algorithm Names
The following table identifies the initial assignments of the Public The following table identifies the initial assignments of the Public
Key Algorithm names. Key Algorithm names.
Public Key Algorithm Name Reference Public Key Algorithm Name Reference
------------------------- --------- ------------------------- ---------
ssh-dss [SSH-TRANS, Section 6.6] ssh-dss [SSH-TRANS, Section 6.6]
ssh-rsa [SSH-TRANS, Section 6.6] ssh-rsa [SSH-TRANS, Section 6.6]
spki-sign-rsa [SSH-TRANS, Section 6.6]
spki-sign-dss [SSH-TRANS, Section 6.6]
pgp-sign-rsa [SSH-TRANS, Section 6.6] pgp-sign-rsa [SSH-TRANS, Section 6.6]
pgp-sign-dss [SSH-TRANS, Section 6.6] pgp-sign-dss [SSH-TRANS, Section 6.6]
4.11.4 Compression Algorithm Names 4.11.4. Compression Algorithm Names
The following table identifies the initial assignments of the The following table identifies the initial assignments of the
Compression Algorithm names. Compression Algorithm names.
Compression Algorithm Name Reference Compression Algorithm Name Reference
-------------------------- --------- -------------------------- ---------
none [SSH-TRANS, Section 6.2] none [SSH-TRANS, Section 6.2]
zlib [SSH-TRANS, Section 6.2] zlib [SSH-TRANS, Section 6.2]
5. Security Considerations 5. Security Considerations
This protocol provides a secure encrypted channel over an insecure This protocol provides a secure encrypted channel over an insecure
network. network.
Full security considerations for this protocol are provided in Full security considerations for this protocol are provided in
[SSH-ARCH]. [SSH-ARCH].
6. References 6. References
6.1 Normative References 6.1. Normative References
[SSH-ARCH] [SSH-ARCH] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell
Lonvick, C., "SSH Protocol Architecture", (SSH) Protocol Architecture", RFC 4251, January 2006.
I-D draft-ietf-secsh-architecture-22.txt, March 2005.
[SSH-TRANS] [SSH-TRANS] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell
Lonvick, C., "SSH Transport Layer Protocol", (SSH) Transport Layer Protocol", RFC 4253, January
I-D draft-ietf-secsh-transport-24.txt, March 2005. 2006.
[SSH-USERAUTH] [SSH-USERAUTH] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell
Lonvick, C., "SSH Authentication Protocol", (SSH) Authentication Protocol", RFC 4252, January
I-D draft-ietf-secsh-userauth-27.txt, March 2005. 2006.
[SSH-CONNECT] [SSH-CONNECT] Ylonen, T. and C. Lonvick, Ed., "The Secure Shell
Lonvick, C., "SSH Connection Protocol", (SSH) Connection Protocol", RFC 4254, January 2006.
I-D draft-ietf-secsh-connect-25.txt, March 2005.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange [RFC2409] Harkins, D. and D. Carrel, "The Internet Key Exchange
(IKE)", RFC 2409, November 1998. (IKE)", RFC 2409, November 1998.
[RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing an [RFC2434] Narten, T. and H. Alvestrand, "Guidelines for Writing
IANA Considerations Section in RFCs", BCP 26, RFC 2434, an IANA Considerations Section in RFCs", BCP 26, RFC
October 1998. 2434, October 1998.
[RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential (MODP) [RFC3526] Kivinen, T. and M. Kojo, "More Modular Exponential
Diffie-Hellman groups for Internet Key Exchange (IKE)", (MODP) Diffie-Hellman groups for Internet Key Exchange
RFC 3526, May 2003. (IKE)", RFC 3526, May 2003.
6.2 Informative References 6.2. Informative References
[RFC0822] Crocker, D., "Standard for the format of ARPA Internet [RFC0822] Crocker, D., "Standard for the format of ARPA Internet
text messages", STD 11, RFC 822, August 1982. text messages", STD 11, RFC 822, August 1982.
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities", [RFC1034] Mockapetris, P., "Domain names - concepts and
STD 13, RFC 1034, November 1987. facilities", STD 13, RFC 1034, November 1987.
[RFC2412] Orman, H., "The OAKLEY Key Determination Protocol", [RFC2412] Orman, H., "The OAKLEY Key Determination Protocol",
RFC 2412, November 1998. RFC 2412, November 1998.
[FIPS-46-3] [FIPS-46-3] US National Institute of Standards and Technology,
National Institute of Standards and Technology, "Data "Data Encryption Standard (DES)", Federal Information
Encryption Standard (DES)", Federal Information Processing Processing Standards Publication 46-3, October 1999.
Standards Publication 46-3, October 1999.
Authors' Addresses Authors' Addresses
Sami Lehtinen Sami Lehtinen
SSH Communications Security Corp SSH Communications Security Corp
Fredrikinkatu 42 Valimotie 17
HELSINKI FIN-00100 00380 Helsinki
Finland Finland
Email: sjl@ssh.com EMail: sjl@ssh.com
Chris Lonvick (editor) Chris Lonvick (editor)
Cisco Systems, Inc. Cisco Systems, Inc.
12515 Research Blvd. 12515 Research Blvd.
Austin 78759 Austin 78759
USA USA
Email: clonvick@cisco.com EMail: clonvick@cisco.com
Appendix A. Trademark Notice Trademark Notice
"ssh" is a registered trademark in the United States and/or other "ssh" is a registered trademark in the United States and/or other
countries. countries.
Note to the RFC Editor: This should be a separate section like the Full Copyright Statement
subsequent ones, and not an appendix. This paragraph to be removed
before publication.
Intellectual Property Statement Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Intellectual Property
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79. found in BCP 78 and BCP 79.
skipping to change at page 22, line 29 skipping to change at page 20, line 45
such proprietary rights by implementers or users of this such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr. http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at this standard. Please address the information to the IETF at
ietf-ipr@ietf.org. ietf-ipr@ietf.org.
The IETF has been notified of intellectual property rights claimed in Acknowledgement
regard to some or all of the specification contained in this
document. For more information consult the online list of claimed
rights.
Disclaimer of Validity
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM 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.
Copyright Statement
Copyright (C) The Internet Society (2005). This document is subject
to the rights, licenses and restrictions contained in BCP 78, and
except as set forth therein, the authors retain all their rights.
Acknowledgment
Funding for the RFC Editor function is currently provided by the Funding for the RFC Editor function is provided by the IETF
Internet Society. Administrative Support Activity (IASA).
 End of changes. 111 change blocks. 
283 lines changed or deleted 247 lines changed or added

This html diff was produced by rfcdiff 1.28, available from http://www.levkowetz.com/ietf/tools/rfcdiff/