]> asedeno.scripts.mit.edu Git - PuTTY.git/blob - doc/errors.but
e221a2d912cce090c2518292fdf82dfd6027b9a3
[PuTTY.git] / doc / errors.but
1 \C{errors} Common \i{error messages}
2
3 This chapter lists a number of common error messages which PuTTY and
4 its associated tools can produce, and explains what they mean in
5 more detail.
6
7 We do not attempt to list \e{all} error messages here: there are
8 many which should never occur, and some which should be
9 self-explanatory. If you get an error message which is not listed in
10 this chapter and which you don't understand, report it to us as a
11 bug (see \k{feedback}) and we will add documentation for it.
12
13 \H{errors-hostkey-absent} \q{The server's host key is not cached in
14 the registry}
15
16 \cfg{winhelp-topic}{errors.hostkey.absent}
17
18 This error message occurs when PuTTY connects to a new SSH server.
19 Every server identifies itself by means of a host key; once PuTTY
20 knows the host key for a server, it will be able to detect if a
21 malicious attacker redirects your connection to another machine.
22
23 If you see this message, it means that PuTTY has not seen this host
24 key before, and has no way of knowing whether it is correct or not.
25 You should attempt to verify the host key by other means, such as
26 asking the machine's administrator.
27
28 If you see this message and you know that your installation of PuTTY
29 \e{has} connected to the same server before, it may have been
30 recently upgraded to SSH protocol version 2. SSH protocols 1 and 2
31 use separate host keys, so when you first use \i{SSH-2} with a server
32 you have only used SSH-1 with before, you will see this message
33 again. You should verify the correctness of the key as before.
34
35 See \k{gs-hostkey} for more information on host keys.
36
37 \H{errors-hostkey-wrong} \q{WARNING - POTENTIAL SECURITY BREACH!}
38
39 \cfg{winhelp-topic}{errors.hostkey.changed}
40
41 This message, followed by \q{The server's host key does not match
42 the one PuTTY has cached in the registry}, means that PuTTY has
43 connected to the SSH server before, knows what its host key
44 \e{should} be, but has found a different one.
45
46 This may mean that a malicious attacker has replaced your server
47 with a different one, or has redirected your network connection to
48 their own machine. On the other hand, it may simply mean that the
49 administrator of your server has accidentally changed the key while
50 upgrading the SSH software; this \e{shouldn't} happen but it is
51 unfortunately possible.
52
53 You should contact your server's administrator and see whether they
54 expect the host key to have changed. If so, verify the new host key
55 in the same way as you would if it was new.
56
57 See \k{gs-hostkey} for more information on host keys.
58
59 \H{errors-ssh-protocol} \q{SSH protocol version 2 required by our
60 configuration but server only provides (old, insecure) SSH-1}
61
62 By default, PuTTY only supports connecting to SSH servers that
63 implement \i{SSH protocol version 2}. If you see this message, the
64 server you're trying to connect to only supports the older SSH-1
65 protocol.
66
67 If the server genuinely only supports SSH-1, then you need to either
68 change the \q{SSH protocol version} setting (see \k{config-ssh-prot}),
69 or use the \c{-1} command-line option; in any case, you should not
70 treat the resulting connection as secure.
71
72 You might start seeing this message with new versions of PuTTY
73 \#{XXX-REVIEW-BEFORE-RELEASE: (from 0.XX onwards)}
74 where you didn't before, because it used to be possible to configure
75 PuTTY to automatically fall back from SSH-2 to SSH-1. This is no
76 longer supported, to prevent the possibility of a downgrade attack.
77
78 \H{errors-cipher-warning} \q{The first cipher supported by the server is
79 ... below the configured warning threshold}
80
81 This occurs when the SSH server does not offer any ciphers which you
82 have configured PuTTY to consider strong enough. By default, PuTTY
83 puts up this warning only for \ii{single-DES} and \i{Arcfour} encryption.
84
85 See \k{config-ssh-encryption} for more information on this message.
86
87 \H{errors-toomanyauth} \q{Server sent disconnect message type 2
88 (protocol error): "Too many authentication failures for root"}
89
90 This message is produced by an \i{OpenSSH} (or \i{Sun SSH}) server if it
91 receives more failed authentication attempts than it is willing to
92 tolerate.
93
94 This can easily happen if you are using Pageant and have a
95 large number of keys loaded into it, since these servers count each
96 offer of a public key as an authentication attempt. This can be worked
97 around by specifying the key that's required for the authentication in
98 the PuTTY configuration (see \k{config-ssh-privkey}); PuTTY will ignore
99 any other keys Pageant may have, but will ask Pageant to do the
100 authentication, so that you don't have to type your passphrase.
101
102 On the server, this can be worked around by disabling public-key
103 authentication or (for Sun SSH only) by increasing \c{MaxAuthTries} in
104 \c{sshd_config}.
105
106 \H{errors-memory} \q{\ii{Out of memory}}
107
108 This occurs when PuTTY tries to allocate more memory than the system
109 can give it. This \e{may} happen for genuine reasons: if the
110 computer really has run out of memory, or if you have configured an
111 extremely large number of lines of scrollback in your terminal.
112 PuTTY is not able to recover from running out of memory; it will
113 terminate immediately after giving this error.
114
115 However, this error can also occur when memory is not running out at
116 all, because PuTTY receives data in the wrong format. In SSH-2 and
117 also in SFTP, the server sends the length of each message before the
118 message itself; so PuTTY will receive the length, try to allocate
119 space for the message, and then receive the rest of the message. If
120 the length PuTTY receives is garbage, it will try to allocate a
121 ridiculous amount of memory, and will terminate with an \q{Out of
122 memory} error.
123
124 This can happen in SSH-2, if PuTTY and the server have not enabled
125 encryption in the same way (see \k{faq-outofmem} in the FAQ). Some
126 versions of \i{OpenSSH} have a known problem with this: see
127 \k{faq-openssh-bad-openssl}.
128
129 This can also happen in PSCP or PSFTP, if your \i{login scripts} on the
130 server generate output: the client program will be expecting an SFTP
131 message starting with a length, and if it receives some text from
132 your login scripts instead it will try to interpret them as a
133 message length. See \k{faq-outofmem2} for details of this.
134
135 \H{errors-internal} \q{\ii{Internal error}}, \q{\ii{Internal fault}},
136 \q{\ii{Assertion failed}}
137
138 Any error beginning with the word \q{Internal} should \e{never}
139 occur. If it does, there is a bug in PuTTY by definition; please see
140 \k{feedback} and report it to us.
141
142 Similarly, any error message starting with \q{Assertion failed} is a
143 bug in PuTTY. Please report it to us, and include the exact text
144 from the error message box.
145
146 \H{errors-cant-load-key} \q{Unable to use this private key file},
147 \q{Couldn't load private key}, \q{Key is of wrong type}
148
149 \cfg{winhelp-topic}{errors.cantloadkey}
150
151 Various forms of this error are printed in the PuTTY window, or
152 written to the PuTTY Event Log (see \k{using-eventlog}) when trying
153 public-key authentication, or given by Pageant when trying to load a
154 private key.
155
156 If you see one of these messages, it often indicates that you've tried
157 to load a key of an inappropriate type into PuTTY, Plink, PSCP, PSFTP,
158 or Pageant.
159
160 You may have specified a key that's inappropriate for the connection
161 you're making. The SSH-1 and SSH-2 protocols require different private
162 key formats, and a SSH-1 key can't be used for a SSH-2 connection (or
163 vice versa).
164
165 Alternatively, you may have tried to load an SSH-2 key in a \q{foreign}
166 format (OpenSSH or \cw{ssh.com}) directly into one of the PuTTY tools,
167 in which case you need to import it into PuTTY's native format
168 (\c{*.PPK}) using PuTTYgen - see \k{puttygen-conversions}.
169
170 \H{errors-refused} \q{Server refused our public key} or \q{Key
171 refused}
172
173 Various forms of this error are printed in the PuTTY window, or
174 written to the PuTTY Event Log (see \k{using-eventlog}) when trying
175 public-key authentication.
176
177 If you see one of these messages, it means that PuTTY has sent a
178 public key to the server and offered to authenticate with it, and
179 the server has refused to accept authentication. This usually means
180 that the server is not configured to accept this key to authenticate
181 this user.
182
183 This is almost certainly not a problem with PuTTY. If you see this
184 type of message, the first thing you should do is check your
185 \e{server} configuration carefully. Common errors include having
186 the wrong permissions or ownership set on the public key or the
187 user's home directory on the server. Also, read the PuTTY Event Log;
188 the server may have sent diagnostic messages explaining exactly what
189 problem it had with your setup.
190
191 \K{pubkey-gettingready} has some hints on server-side public key
192 setup.
193
194 \H{errors-access-denied} \q{Access denied}, \q{Authentication refused}
195
196 Various forms of this error are printed in the PuTTY window, or
197 written to the PuTTY Event Log (see \k{using-eventlog}) during
198 authentication.
199
200 If you see one of these messages, it means that the server has refused 
201 all the forms of authentication PuTTY has tried and it has no further
202 ideas.
203
204 It may be worth checking the Event Log for diagnostic messages from
205 the server giving more detail.
206
207 This error can be caused by buggy SSH-1 servers that fail to cope with
208 the various strategies we use for camouflaging passwords in transit.
209 Upgrade your server, or use the workarounds described in
210 \k{config-ssh-bug-ignore1} and possibly \k{config-ssh-bug-plainpw1}.
211
212 \H{errors-no-auth} \q{No supported authentication methods available}
213
214 This error indicates that PuTTY has run out of ways to authenticate
215 you to an SSH server.  This may be because PuTTY has TIS or
216 keyboard-interactive authentication disabled, in which case
217 \k{config-ssh-tis} and \k{config-ssh-ki}.
218
219 \H{errors-crc} \q{Incorrect \i{CRC} received on packet} or \q{Incorrect
220 \i{MAC} received on packet}
221
222 This error occurs when PuTTY decrypts an SSH packet and its checksum
223 is not correct. This probably means something has gone wrong in the
224 encryption or decryption process. It's difficult to tell from this
225 error message whether the problem is in the client, in the server,
226 or in between.
227
228 In particular, if the network is corrupting data at the TCP level, it
229 may only be obvious with cryptographic protocols such as SSH, which
230 explicitly check the integrity of the transferred data and complain
231 loudly if the checks fail. Corruption of protocols without integrity
232 protection (such as HTTP) will manifest in more subtle failures (such
233 as misdisplayed text or images in a web browser) which may not be
234 noticed.
235
236 A known server problem which can cause this error is described in
237 \k{faq-openssh-bad-openssl} in the FAQ.
238
239 \H{errors-garbled} \q{Incoming packet was garbled on decryption}
240
241 This error occurs when PuTTY decrypts an SSH packet and the
242 decrypted data makes no sense. This probably means something has
243 gone wrong in the encryption or decryption process. It's difficult
244 to tell from this error message whether the problem is in the client,
245 in the server, or in between.
246
247 If you get this error, one thing you could try would be to fiddle with
248 the setting of \q{Miscomputes SSH-2 encryption keys} (see
249 \k{config-ssh-bug-derivekey2}) or \q{Ignores SSH-2 maximum packet
250 size} (see \k{config-ssh-bug-maxpkt2}) on the Bugs panel .
251
252 Another known server problem which can cause this error is described
253 in \k{faq-openssh-bad-openssl} in the FAQ.
254
255 \H{errors-x11-proxy} \q{PuTTY X11 proxy: \e{various errors}}
256
257 This family of errors are reported when PuTTY is doing X forwarding.
258 They are sent back to the X application running on the SSH server,
259 which will usually report the error to the user.
260
261 When PuTTY enables X forwarding (see \k{using-x-forwarding}) it
262 creates a virtual X display running on the SSH server. This display
263 requires authentication to connect to it (this is how PuTTY prevents
264 other users on your server machine from connecting through the PuTTY
265 proxy to your real X display). PuTTY also sends the server the
266 details it needs to enable clients to connect, and the server should
267 put this mechanism in place automatically, so your X applications
268 should just work.
269
270 A common reason why people see one of these messages is because they
271 used SSH to log in as one user (let's say \q{fred}), and then used
272 the Unix \c{su} command to become another user (typically \q{root}).
273 The original user, \q{fred}, has access to the X authentication data
274 provided by the SSH server, and can run X applications which are
275 forwarded over the SSH connection. However, the second user
276 (\q{root}) does not automatically have the authentication data
277 passed on to it, so attempting to run an X application as that user
278 often fails with this error.
279
280 If this happens, \e{it is not a problem with PuTTY}. You need to
281 arrange for your X authentication data to be passed from the user
282 you logged in as to the user you used \c{su} to become. How you do
283 this depends on your particular system; in fact many modern versions
284 of \c{su} do it automatically.
285
286 \H{errors-connaborted} \q{Network error: Software caused connection
287 abort}
288
289 This is a generic error produced by the Windows network code when it
290 kills an established connection for some reason. For example, it might
291 happen if you pull the network cable out of the back of an
292 Ethernet-connected computer, or if Windows has any other similar
293 reason to believe the entire network has become unreachable.
294
295 Windows also generates this error if it has given up on the machine
296 at the other end of the connection ever responding to it. If the
297 network between your client and server goes down and your client
298 then tries to send some data, Windows will make several attempts to
299 send the data and will then give up and kill the connection. In
300 particular, this can occur even if you didn't type anything, if you
301 are using SSH-2 and PuTTY attempts a key re-exchange. (See
302 \k{config-ssh-kex-rekey} for more about key re-exchange.)
303
304 (It can also occur if you are using keepalives in your connection.
305 Other people have reported that keepalives \e{fix} this error for
306 them. See \k{config-keepalive} for a discussion of the pros and cons
307 of keepalives.)
308
309 We are not aware of any reason why this error might occur that would
310 represent a bug in PuTTY. The problem is between you, your Windows
311 system, your network and the remote system.
312
313 \H{errors-connreset} \q{Network error: Connection reset by peer}
314
315 This error occurs when the machines at each end of a network
316 connection lose track of the state of the connection between them.
317 For example, you might see it if your SSH server crashes, and
318 manages to reboot fully before you next attempt to send data to it.
319
320 However, the most common reason to see this message is if you are
321 connecting through a \i{firewall} or a \i{NAT router} which has timed the
322 connection out. See \k{faq-idleout} in the FAQ for more details. You
323 may be able to improve the situation by using keepalives; see
324 \k{config-keepalive} for details on this.
325
326 Note that Windows can produce this error in some circumstances without
327 seeing a connection reset from the server, for instance if the
328 connection to the network is lost.
329
330 \H{errors-connrefused} \q{Network error: Connection refused}
331
332 This error means that the network connection PuTTY tried to make to
333 your server was rejected by the server. Usually this happens because
334 the server does not provide the service which PuTTY is trying to
335 access.
336
337 Check that you are connecting with the correct protocol (SSH, Telnet
338 or Rlogin), and check that the port number is correct. If that
339 fails, consult the administrator of your server.
340
341 \H{errors-conntimedout} \q{Network error: Connection timed out}
342
343 This error means that the network connection PuTTY tried to make to
344 your server received no response at all from the server. Usually
345 this happens because the server machine is completely isolated from
346 the network, or because it is turned off.
347
348 Check that you have correctly entered the host name or IP address of
349 your server machine. If that fails, consult the administrator of
350 your server.
351
352 \i{Unix} also generates this error when it tries to send data down a
353 connection and contact with the server has been completely lost
354 during a connection. (There is a delay of minutes before Unix gives
355 up on receiving a reply from the server.) This can occur if you type
356 things into PuTTY while the network is down, but it can also occur
357 if PuTTY decides of its own accord to send data: due to a repeat key
358 exchange in SSH-2 (see \k{config-ssh-kex-rekey}) or due to
359 keepalives (\k{config-keepalive}).
360
361 \H{errors-cannotassignaddress} \q{Network error: Cannot assign requested
362 address}
363
364 This means that the operating system rejected the parameters of the
365 network connection PuTTY tried to make, usually without actually
366 trying to connect to anything, because they were simply invalid.
367
368 A common way to provoke this error is to accidentally try to connect
369 to port 0, which is not a valid port number.