errors.but 19 KB

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