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