\n and \r need double backslashes in Halibut.
[u/mdw/putty] / doc / errors.but
1 \define{versioniderrors} \versionid $Id$
2
3 \C{errors} Common 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 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 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 This message, followed by \q{The server's host key does not match
40 the one PuTTY has cached in the registry}, means that PuTTY has
41 connected to the SSH server before, knows what its host key
42 \e{should} be, but has found a different one.
43
44 This may mean that a malicious attacker has replaced your server
45 with a different one, or has redirected your network connection to
46 their own machine. On the other hand, it may simply mean that the
47 administrator of your server has accidentally changed the key while
48 upgrading the SSH software; this \e{shouldn't} happen but it is
49 unfortunately possible.
50
51 You should contact your server's administrator and see whether they
52 expect the host key to have changed. If so, verify the new host key
53 in the same way as you would if it was new.
54
55 See \k{gs-hostkey} for more information on host keys.
56
57 \H{errors-portfwd-space} \q{Out of space for port forwardings}
58
59 PuTTY has a fixed-size buffer which it uses to store the details of
60 all port forwardings you have set up in an SSH session. If you
61 specify too many port forwardings on the PuTTY or Plink command line
62 and this buffer becomes full, you will see this error message.
63
64 We need to fix this (fixed-size buffers are almost always a mistake)
65 but we haven't got round to it. If you actually have trouble with
66 this, let us know and we'll move it up our priority list.
67
68 \H{errors-cipher-warning} \q{The first cipher supported by the server is
69 ... below the configured warning threshold}
70
71 This occurs when the SSH server does not offer any ciphers which you
72 have configured PuTTY to consider strong enough.
73
74 See \k{config-ssh-encryption} for more information on this message.
75
76 \H{errors-toomanyauth} \q{Server sent disconnect message type 2
77 (SSH_DISCONNECT_PROTOCOL_ERROR): "Too many authentication failures for root"}
78
79 This message is produced by an OpenSSH (or Sun SSH) server if it
80 receives more failed authentication attempts than it is willing to
81 tolerate. This can easily happen if you are using Pageant and have a
82 large number of keys loaded into it. This can be worked around on the
83 server by disabling public-key authentication or (for Sun SSH only) by
84 increasing \c{MaxAuthTries} in \c{sshd_config}. Neither of these is a
85 really satisfactory solution, and we hope to provide a better one in a
86 future version of PuTTY.
87
88 \H{errors-memory} \q{Out of memory}
89
90 This occurs when PuTTY tries to allocate more memory than the system
91 can give it. This \e{may} happen for genuine reasons: if the
92 computer really has run out of memory, or if you have configured an
93 extremely large number of lines of scrollback in your terminal.
94 PuTTY is not able to recover from running out of memory; it will
95 terminate immediately after giving this error.
96
97 However, this error can also occur when memory is not running out at
98 all, because PuTTY receives data in the wrong format. In SSH 2 and
99 also in SFTP, the server sends the length of each message before the
100 message itself; so PuTTY will receive the length, try to allocate
101 space for the message, and then receive the rest of the message. If
102 the length PuTTY receives is garbage, it will try to allocate a
103 ridiculous amount of memory, and will terminate with an \q{Out of
104 memory} error.
105
106 This can happen in SSH 2, if PuTTY and the server have not enabled
107 encryption in the same way (see \k{faq-outofmem} in the FAQ). Some
108 versions of OpenSSH have a known problem with this: see
109 \k{faq-openssh-bad-openssl}.
110
111 This can also happen in PSCP or PSFTP, if your login scripts on the
112 server generate output: the client program will be expecting an SFTP
113 message starting with a length, and if it receives some text from
114 your login scripts instead it will try to interpret them as a
115 message length. See \k{faq-outofmem2} for details of this.
116
117 \H{errors-internal} \q{Internal error}, \q{Internal fault},
118 \q{Assertion failed}
119
120 Any error beginning with the word \q{Internal} should \e{never}
121 occur. If it does, there is a bug in PuTTY by definition; please see
122 \k{feedback} and report it to us.
123
124 Similarly, any error message starting with \q{Assertion failed} is a
125 bug in PuTTY. Please report it to us, and include the exact text
126 from the error message box.
127
128 \H{errors-key-wrong-format} \q{Unable to use this private key file},
129 \q{Couldn't load private key}, \q{Key is of wrong type}
130
131 Various forms of this error are printed in the PuTTY window, or
132 written to the PuTTY Event Log (see \k{using-eventlog}) when trying
133 public-key authentication, or given by Pageant when trying to load a
134 private key.
135
136 If you see one of these messages, it often indicates that you've tried
137 to load a key of an inappropriate type into PuTTY, Plink, PSCP, PSFTP,
138 or Pageant.
139
140 You may have specified a key that's inappropriate for the connection
141 you're making. The SSH-1 and SSH-2 protocols require different private
142 key formats, and a SSH-1 key can't be used for a SSH-2 connection (or
143 vice versa).
144
145 Alternatively, you may have tried to load an SSH-2 key in a \q{foreign}
146 format (OpenSSH or \cw{ssh.com}) directly into one of the PuTTY tools,
147 in which case you need to import it into PuTTY's native format
148 (\c{*.PPK}) using PuTTYgen - see \k{puttygen-conversions}.
149
150 \H{errors-refused} \q{Server refused our public key} or \q{Key
151 refused}
152
153 Various forms of this error are printed in the PuTTY window, or
154 written to the PuTTY Event Log (see \k{using-eventlog}) when trying
155 public-key authentication.
156
157 If you see one of these messages, it means that PuTTY has sent a
158 public key to the server and offered to authenticate with it, and
159 the server has refused to accept authentication. This usually means
160 that the server is not configured to accept this key to authenticate
161 this user.
162
163 This is almost certainly not a problem with PuTTY. If you see this
164 type of message, the first thing you should do is check your
165 \e{server} configuration carefully. Also, read the PuTTY Event Log;
166 the server may have sent diagnostic messages explaining exactly what
167 problem it had with your setup.
168
169 \H{errors-access-denied} \q{Access denied}, \q{Authentication refused}
170
171 Various forms of this error are printed in the PuTTY window, or
172 written to the PuTTY Event Log (see \k{using-eventlog}) during
173 authentication.
174
175 If you see one of these messages, it means that the server has refused
176 all the forms of authentication PuTTY has tried and it has no further
177 ideas.
178
179 It may be worth checking the Event Log for diagnostic messages from
180 the server giving more detail.
181
182 This error can be caused by buggy SSH-1 servers that fail to cope with
183 the various strategies we use for camouflaging passwords in transit.
184 Upgrade your server, or use the workarounds described in
185 \k{config-ssh-bug-ignore1} and possibly \k{config-ssh-bug-plainpw1}.
186
187 \H{errors-crc} \q{Incorrect CRC received on packet} or \q{Incorrect
188 MAC received on packet}
189
190 This error occurs when PuTTY decrypts an SSH packet and its checksum
191 is not correct. This probably means something has gone wrong in the
192 encryption or decryption process. It's difficult to tell from this
193 error message whether the problem is in the client or in the server.
194
195 A known server problem which can cause this error is described in
196 \k{faq-openssh-bad-openssl} in the FAQ.
197
198 \H{errors-garbled} \q{Incoming packet was garbled on decryption}
199
200 This error occurs when PuTTY decrypts an SSH packet and the
201 decrypted data makes no sense. This probably means something has
202 gone wrong in the encryption or decryption process. It's difficult
203 to tell from this error message whether the problem is in the client,
204 in the server, or in between.
205
206 If you get this error, one thing you could try would be to fiddle
207 with the setting of \q{Miscomputes SSH2 encryption keys} on the Bugs
208 panel (see \k{config-ssh-bug-derivekey2}).
209
210 Another known server problem which can cause this error is described
211 in \k{faq-openssh-bad-openssl} in the FAQ.
212
213 \H{errors-x11-proxy} \q{PuTTY X11 proxy: \e{various errors}}
214
215 This family of errors are reported when PuTTY is doing X forwarding.
216 They are sent back to the X application running on the SSH server,
217 which will usually report the error to the user.
218
219 When PuTTY enables X forwarding (see \k{using-x-forwarding}) it
220 creates a virtual X display running on the SSH server. This display
221 requires authentication to connect to it (this is how PuTTY prevents
222 other users on your server machine from connecting through the PuTTY
223 proxy to your real X display). PuTTY also sends the server the
224 details it needs to enable clients to connect, and the server should
225 put this mechanism in place automatically, so your X applications
226 should just work.
227
228 A common reason why people see one of these messages is because they
229 used SSH to log in as one user (let's say \q{fred}), and then used
230 the Unix \c{su} command to become another user (typically \q{root}).
231 The original user, \q{fred}, has access to the X authentication data
232 provided by the SSH server, and can run X applications which are
233 forwarded over the SSH connection. However, the second user
234 (\q{root}) does not automatically have the authentication data
235 passed on to it, so attempting to run an X application as that user
236 often fails with this error.
237
238 If this happens, \e{it is not a problem with PuTTY}. You need to
239 arrange for your X authentication data to be passed from the user
240 you logged in as to the user you used \c{su} to become. How you do
241 this depends on your particular system; in fact many modern versions
242 of \c{su} do it automatically.
243
244 \H{errors-connaborted} \q{Network error: Software caused connection
245 abort}
246
247 This is a generic error produced by the Windows network code when it
248 decides that your network connection is dead. For example, it might
249 happen if you pull the network cable out of the back of an
250 Ethernet-connected computer, or if Windows has any other similar
251 reason to believe the entire network has become unreachable.
252
253 We are not aware of any reason why this error might occur that would
254 represent a bug in PuTTY. The problem is between you, your Windows
255 system, your network and the remote system.
256
257 Some people have reported that enabling keepalives (see
258 \k{config-keepalive}) fixes this error for them.
259
260 \H{errors-connreset} \q{Network error: Connection reset by peer}
261
262 This error occurs when the machines at each end of a network
263 connection lose track of the state of the connection between them.
264 For example, you might see it if your SSH server crashes, and
265 manages to reboot fully before you next attempt to send data to it.
266
267 However, the most common reason to see this message is if you are
268 connecting through a firewall or a NAT router which has timed the
269 connection out. See \k{faq-idleout} in the FAQ for more details. You
270 may be able to improve the situation by using keepalives; see
271 \k{config-keepalive} for details on this.
272
273 \H{errors-connrefused} \q{Network error: Connection refused}
274
275 This error means that the network connection PuTTY tried to make to
276 your server was rejected by the server. Usually this happens because
277 the server does not provide the service which PuTTY is trying to
278 access.
279
280 Check that you are connecting with the correct protocol (SSH, Telnet
281 or Rlogin), and check that the port number is correct. If that
282 fails, consult the administrator of your server.
283
284 \H{errors-conntimedout} \q{Network error: Connection timed out}
285
286 This error means that the network connection PuTTY tried to make to
287 your server received no response at all from the server. Usually
288 this happens because the server machine is completely isolated from
289 the network, or because it is turned off.
290
291 Check that you have correctly entered the host name or IP address of
292 your server machine. If that fails, consult the administrator of
293 your server.