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