forked from Yasushi/putty
-
Notifications
You must be signed in to change notification settings - Fork 6
/
sshnames.but
130 lines (89 loc) · 4.75 KB
/
sshnames.but
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
\A{sshnames} SSH-2 names specified for PuTTY
There are various parts of the SSH-2 protocol where things are specified
using a textual name. Names ending in \cw{@putty.projects.tartarus.org}
are reserved for allocation by the PuTTY team. Allocated names are
documented here.
\H{sshnames-channel} Connection protocol channel request names
These names can be sent in a \cw{SSH_MSG_CHANNEL_REQUEST} message.
\dt \cw{[email protected]}
\dd This is sent by a client to announce that it will not have more than
one channel open at a time in the current connection (that one being
the one the request is sent on). The intention is that the server,
knowing this, can set the window on that one channel to something very
large, and leave flow control to TCP. There is no message-specific data.
\dt \cw{[email protected]}
\dd PuTTY sends this request along with some
\cw{SSH_MSG_CHANNEL_WINDOW_ADJUST} messages as part of its window-size
tuning. It can be sent on any type of channel. There is no
message-specific data. Servers MUST treat it as an unrecognised request
and respond with \cw{SSH_MSG_CHANNEL_FAILURE}.
\lcont{
(Some SSH servers get confused by this message, so there is a
bug-compatibility mode for disabling it. See \k{config-ssh-bug-winadj}.)
}
\H{sshnames-kex} Key exchange method names
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dd These appeared in various drafts of what eventually became RFC\_4432.
They have been superseded by \cw{rsa1024-sha1} and \cw{rsa2048-sha256}.
\H{sshnames-encrypt} Encryption algorithm names
\dt \cw{[email protected]}
\dt \cw{[email protected]}
\dd These were used in drafts of what eventually became RFC\_4345.
They have been superseded by \cw{arcfour128} and \cw{arcfour256}.
\H{sshnames-agent} Agent extension request names
The SSH agent protocol, which is only specified in an Internet-Draft
at the time of writing
(\W{https://datatracker.ietf.org/doc/html/draft-miller-ssh-agent}\cw{draft-miller-ssh-agent}),
defines an extension mechanism. These names can be sent in an
\cw{SSH_AGENTC_EXTENSION} message.
\dt \cw{[email protected]}
\dd The payload is a single SSH-2 \cw{string} containing a keypair in
the PPK format defined in \k{ppk}. Compared to the standard
\cw{SSH_AGENTC_ADD_IDENTITY}, this extension allows adding keys in
encrypted form, with the agent requesting a decryption passphrase from
the user on demand, and able to revert the key to encrypted form.
\dt \cw{[email protected]}
\dd The payload is a single SSH-2 \cw{string} specifying a public key
blob, as in \cw{SSH_AGENTC_REMOVE_IDENTITY}. Requests that the agent
forget any cleartext form of a specific key.
\lcont{
Returns \cw{SSH_AGENT_SUCCESS} if the agent ended up holding the key
only in encrypted form (even if it was already encrypted); returns
\cw{SSH_AGENT_EXTENSION_FAILURE} if not (if it wasn't held by the
agent at all, or only in cleartext form).
}
\dt \cw{[email protected]}
\dd No payload. Requests that the agent forget the cleartext form of
any keys for which it holds an encrypted form.
\lcont{
If the agent holds any keys with an encrypted form (or no keys at all),
returns \cw{SSH_AGENT_SUCCESS} to indicate that no such keys are now
held in cleartext form, followed by a \cw{uint32} specifying how many keys
remain in cleartext form (because the agent didn't hold an encrypted
form for them). If the agent holds nothing but keys in cleartext form,
returns \cw{SSH_AGENT_EXTENSION_FAILURE}.
}
\dt \cw{[email protected]}
\dd No payload. Returns \cw{SSH_AGENT_SUCCESS} followed by a list of
identities similar to \cw{SSH_AGENT_IDENTITIES_ANSWER}, except that
each key has an extra SSH-2 \cw{string} at the end. Currently that
\cw{string} contains a single \cw{uint32} flags word, with the
following bits defined:
\lcont{
\dt Bit 0
\dd If set, key is held with an encrypted form (so that the
\c{reencrypt} extension can do something useful with it).
\dt Bit 1
\dd If set, key's cleartext form is not currently held (so the
user will have to supply a passphrase before the key can be used).
}