summaryrefslogtreecommitdiff
path: root/PROTOCOL
diff options
context:
space:
mode:
Diffstat (limited to 'PROTOCOL')
-rw-r--r--PROTOCOL37
1 files changed, 22 insertions, 15 deletions
diff --git a/PROTOCOL b/PROTOCOL
index 5aada630d..5fc31eade 100644
--- a/PROTOCOL
+++ b/PROTOCOL
@@ -6,8 +6,8 @@ filexfer protocol described in:
6 6
7http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt 7http://www.openssh.com/txt/draft-ietf-secsh-filexfer-02.txt
8 8
9Features from newer versions of the draft are not supported, unless 9Newer versions of the draft will not be supported, though some features
10explicitly implemented as extensions described below. 10are individually implemented as extensions described below.
11 11
12The protocol used by OpenSSH's ssh-agent is described in the file 12The protocol used by OpenSSH's ssh-agent is described in the file
13PROTOCOL.agent 13PROTOCOL.agent
@@ -31,7 +31,14 @@ The method is documented in:
31 31
32http://www.openssh.com/txt/draft-miller-secsh-compression-delayed-00.txt 32http://www.openssh.com/txt/draft-miller-secsh-compression-delayed-00.txt
33 33
343. connection: Channel write close extension "eow@openssh.com" 343. transport: New public key algorithms "ssh-rsa-cert-v00@openssh.com" and
35 "ssh-dsa-cert-v00@openssh.com"
36
37OpenSSH introduces two new public key algorithms to support certificate
38authentication for users and hostkeys. These methods are documented in
39the file PROTOCOL.certkeys
40
414. connection: Channel write close extension "eow@openssh.com"
35 42
36The SSH connection protocol (rfc4254) provides the SSH_MSG_CHANNEL_EOF 43The SSH connection protocol (rfc4254) provides the SSH_MSG_CHANNEL_EOF
37message to allow an endpoint to signal its peer that it will send no 44message to allow an endpoint to signal its peer that it will send no
@@ -70,7 +77,7 @@ message is only sent to OpenSSH peers (identified by banner).
70Other SSH implementations may be whitelisted to receive this message 77Other SSH implementations may be whitelisted to receive this message
71upon request. 78upon request.
72 79
734. connection: disallow additional sessions extension 805. connection: disallow additional sessions extension
74 "no-more-sessions@openssh.com" 81 "no-more-sessions@openssh.com"
75 82
76Most SSH connections will only ever request a single session, but a 83Most SSH connections will only ever request a single session, but a
@@ -98,7 +105,7 @@ of this message, the no-more-sessions request is only sent to OpenSSH
98servers (identified by banner). Other SSH implementations may be 105servers (identified by banner). Other SSH implementations may be
99whitelisted to receive this message upon request. 106whitelisted to receive this message upon request.
100 107
1015. connection: Tunnel forward extension "tun@openssh.com" 1086. connection: Tunnel forward extension "tun@openssh.com"
102 109
103OpenSSH supports layer 2 and layer 3 tunnelling via the "tun@openssh.com" 110OpenSSH supports layer 2 and layer 3 tunnelling via the "tun@openssh.com"
104channel type. This channel type supports forwarding of network packets 111channel type. This channel type supports forwarding of network packets
@@ -121,10 +128,10 @@ layer 2 frames or layer 3 packets. It may take one of the following values:
121 SSH_TUNMODE_ETHERNET 2 /* layer 2 frames */ 128 SSH_TUNMODE_ETHERNET 2 /* layer 2 frames */
122 129
123The "tunnel unit number" specifies the remote interface number, or may 130The "tunnel unit number" specifies the remote interface number, or may
124be zero to allow the server to automatically chose an interface. A server 131be 0x7fffffff to allow the server to automatically chose an interface. A
125that is not willing to open a client-specified unit should refuse the 132server that is not willing to open a client-specified unit should refuse
126request with a SSH_MSG_CHANNEL_OPEN_FAILURE error. On successful open, 133the request with a SSH_MSG_CHANNEL_OPEN_FAILURE error. On successful
127the server should reply with SSH_MSG_CHANNEL_OPEN_SUCCESS. 134open, the server should reply with SSH_MSG_CHANNEL_OPEN_SUCCESS.
128 135
129Once established the client and server may exchange packet or frames 136Once established the client and server may exchange packet or frames
130over the tunnel channel by encapsulating them in SSH protocol strings 137over the tunnel channel by encapsulating them in SSH protocol strings
@@ -151,7 +158,7 @@ It may be one of:
151The "packet data" field consists of the IPv4/IPv6 datagram itself 158The "packet data" field consists of the IPv4/IPv6 datagram itself
152without any link layer header. 159without any link layer header.
153 160
154The contents of the "data" field for layer 3 packets is: 161The contents of the "data" field for layer 2 packets is:
155 162
156 uint32 packet length 163 uint32 packet length
157 byte[packet length] frame 164 byte[packet length] frame
@@ -159,7 +166,7 @@ The contents of the "data" field for layer 3 packets is:
159The "frame" field contains an IEEE 802.3 Ethernet frame, including 166The "frame" field contains an IEEE 802.3 Ethernet frame, including
160header. 167header.
161 168
1626. sftp: Reversal of arguments to SSH_FXP_SYMLINK 1697. sftp: Reversal of arguments to SSH_FXP_SYMLINK
163 170
164When OpenSSH's sftp-server was implemented, the order of the arguments 171When OpenSSH's sftp-server was implemented, the order of the arguments
165to the SSH_FXP_SYMLINK method was inadvertently reversed. Unfortunately, 172to the SSH_FXP_SYMLINK method was inadvertently reversed. Unfortunately,
@@ -172,7 +179,7 @@ SSH_FXP_SYMLINK as follows:
172 string targetpath 179 string targetpath
173 string linkpath 180 string linkpath
174 181
1757. sftp: Server extension announcement in SSH_FXP_VERSION 1828. sftp: Server extension announcement in SSH_FXP_VERSION
176 183
177OpenSSH's sftp-server lists the extensions it supports using the 184OpenSSH's sftp-server lists the extensions it supports using the
178standard extension announcement mechanism in the SSH_FXP_VERSION server 185standard extension announcement mechanism in the SSH_FXP_VERSION server
@@ -193,7 +200,7 @@ ever changed in an incompatible way. The server MAY advertise the same
193extension with multiple versions (though this is unlikely). Clients MUST 200extension with multiple versions (though this is unlikely). Clients MUST
194check the version number before attempting to use the extension. 201check the version number before attempting to use the extension.
195 202
1968. sftp: Extension request "posix-rename@openssh.com" 2039. sftp: Extension request "posix-rename@openssh.com"
197 204
198This operation provides a rename operation with POSIX semantics, which 205This operation provides a rename operation with POSIX semantics, which
199are different to those provided by the standard SSH_FXP_RENAME in 206are different to those provided by the standard SSH_FXP_RENAME in
@@ -210,7 +217,7 @@ rename(oldpath, newpath) and will respond with a SSH_FXP_STATUS message.
210This extension is advertised in the SSH_FXP_VERSION hello with version 217This extension is advertised in the SSH_FXP_VERSION hello with version
211"1". 218"1".
212 219
2139. sftp: Extension requests "statvfs@openssh.com" and 22010. sftp: Extension requests "statvfs@openssh.com" and
214 "fstatvfs@openssh.com" 221 "fstatvfs@openssh.com"
215 222
216These requests correspond to the statvfs and fstatvfs POSIX system 223These requests correspond to the statvfs and fstatvfs POSIX system
@@ -251,4 +258,4 @@ The values of the f_flag bitmask are as follows:
251Both the "statvfs@openssh.com" and "fstatvfs@openssh.com" extensions are 258Both the "statvfs@openssh.com" and "fstatvfs@openssh.com" extensions are
252advertised in the SSH_FXP_VERSION hello with version "2". 259advertised in the SSH_FXP_VERSION hello with version "2".
253 260
254$OpenBSD: PROTOCOL,v 1.12 2009/02/14 06:35:49 djm Exp $ 261$OpenBSD: PROTOCOL,v 1.15 2010/02/26 20:29:54 djm Exp $