-\versionid $Id: faq.but,v 1.63 2004/03/16 08:18:37 simon Exp $
+\define{versionidfaq} \versionid $Id$
\A{faq} PuTTY FAQ
\H{faq-intro} Introduction
-\S{faq-what} What is PuTTY?
+\S{faq-what}{Question} What is PuTTY?
PuTTY is a client program for the SSH, Telnet and Rlogin network
protocols.
and not in the \q{Recently fixed} section, it probably \e{hasn't} been
implemented.
-\S{faq-ssh2}{Question} Does PuTTY support SSH v2?
+\S{faq-ssh2}{Question} Does PuTTY support SSH-2?
-Yes. SSH v2 support has been available in PuTTY since version 0.50.
+Yes. SSH-2 support has been available in PuTTY since version 0.50.
-Public key authentication (both RSA and DSA) in SSH v2 is new in
+Public key authentication (both RSA and DSA) in SSH-2 is new in
version 0.52.
\S{faq-ssh2-keyfmt}{Question} Does PuTTY support reading OpenSSH or
-\cw{ssh.com} SSHv2 private key files?
+\cw{ssh.com} SSH-2 private key files?
PuTTY doesn't support this natively, but as of 0.53
PuTTYgen can convert both OpenSSH and \cw{ssh.com} private key
files into PuTTY's format.
-\S{faq-ssh1}{Question} Does PuTTY support SSH v1?
+\S{faq-ssh1}{Question} Does PuTTY support SSH-1?
-Yes. SSH 1 support has always been available in PuTTY.
+Yes. SSH-1 support has always been available in PuTTY.
\S{faq-localecho}{Question} Does PuTTY support local echo?
the Terminal panel, in the section marked \q{Line discipline
options}.
+\S{faq-savedsettings}{Question} Does PuTTY support storing settings,
+so I don't have to change them every time?
+
+Yes, all of PuTTY's settings can be saved in named session profiles.
+You can also change the default settings that are used for new sessions.
+See \k{config-saving} in the documentation for how to do this.
+
\S{faq-disksettings}{Question} Does PuTTY support storing its
settings in a disk file?
If you have host keys available in the common \c{known_hosts} format,
we have a script called
-\W{http://cvs.tartarus.org/putty/contrib/kh2reg.py}\c{kh2reg.py}
+\W{http://www.tartarus.org/~simon-anonsvn/viewcvs.cgi/putty/contrib/kh2reg.py?view=markup}\c{kh2reg.py}
to convert them to a Windows .REG file, which can be installed ahead of
time by double-clicking or using \c{REGEDIT}.
clearly be a useful thing, so in the long term I hope it can be
brought up to release quality.
-There's a also third-party port at
-\W{http://pocketputty.aleq.cz/}\c{http://pocketputty.aleq.cz/}.
+There's also a third-party port at
+\W{http://pocketputty.duxy.net/}\c{http://pocketputty.duxy.net/}.
\S{faq-win31}{Question} Is there a port to Windows 3.1?
\S{faq-mac-port}{Question} Will there be a port to the Mac?
-There is a port to the Mac OS in progress. It's just about usable, but
-has an awful lot of gaps and rough edges that will need cleaning up
-before release.
+There are several answers to this question:
+
+\b The Unix/Gtk port is already fully working under Mac OS X as an X11
+application.
+
+\b A native (Cocoa) Mac OS X port is in progress. It's just about
+usable, but is of nowhere near release quality yet, and is likely to
+behave in unexpected ways.
+
+\b A separate port to the classic Mac OS (pre-OSX) is also in
+progress; it too is not ready yet.
\S{faq-epoc}{Question} Will there be a port to EPOC?
However, some of the work has been done by other people, and a beta
port of PuTTY for the Nokia 9200 Communicator series is available
-from \W{http://www.s2.org/putty/}\cw{http://www.s2.org/putty/}
+from \W{http://s2putty.sourceforge.net/}\cw{http://s2putty.sourceforge.net/}
\H{faq-embedding} Embedding PuTTY in other programs
\S{faq-settings}{Question} Where does PuTTY store its data?
-PuTTY stores most of its data (saved sessions, SSH host keys) in the
-Registry. The precise location is
+On Windows, PuTTY stores most of its data (saved sessions, SSH host
+keys) in the Registry. The precise location is
\c HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
PuTTY also requires a random number seed file, to improve the
unpredictability of randomly chosen data needed as part of the SSH
-cryptography. This is stored by default in your Windows home
-directory (\c{%HOMEDRIVE%\\%HOMEPATH%}), or in the actual Windows
-directory (such as \c{C:\\WINDOWS}) if the home directory doesn't
-exist, for example if you're using Win95. If you want to change the
-location of the random number seed file, you can put your chosen
-pathname in the Registry, at
+cryptography. This is stored by default in a file called \i\c{PUTTY.RND}
+in your Windows home directory (\c{%HOMEDRIVE%\\%HOMEPATH%}), or in
+the actual Windows directory (such as \c{C:\\WINDOWS}) if the home
+directory doesn't exist, for example if you're using Win95. If you
+want to change the location of the random number seed file, you can
+put your chosen pathname in the Registry, at
\c HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\RandSeedFile
+On Unix, PuTTY stores all of this data in a directory \cw{~/.putty}.
+
\H{faq-howto} HOWTO questions
+\S{faq-commands}{Question} What commands can I type into my PuTTY
+terminal window?
+
+This is not a question you should be asking \e{us}. You need to read
+the manuals, or ask the administrator, of \e{the computer you have
+connected to}.
+
+PuTTY does not process the commands you type into it. It's only a
+communications tool. It makes a connection to another computer; it
+passes the commands you type to that other computer; and it passes
+the other computer's responses back to you. Therefore, the precise
+range of commands you can use will not depend on PuTTY, but on what
+kind of computer you have connected to and what software is running
+on it. The PuTTY team cannot help you with that.
+
+(Think of PuTTY as being a bit like a telephone. If you phone
+somebody up and you don't know what language to speak to make them
+understand you, it isn't \e{the telephone company}'s job to find
+that out for you. We just provide the means for you to get in touch;
+making yourself understood is somebody else's problem.)
+
+If you are unsure of where to start looking for the administrator of
+your server, a good place to start might be to remember how you
+found out the host name in the PuTTY configuration. If you were
+given that host name by e-mail, for example, you could try asking
+the person who sent you that e-mail. If your company's IT department
+provided you with ready-made PuTTY saved sessions, then that IT
+department can probably also tell you something about what commands
+you can type during those sessions. But the PuTTY maintainer team
+does not administer any server you are likely to be connecting to,
+and cannot help you with questions of this type.
+
\S{faq-startmax}{Question} How can I make PuTTY start up maximised?
Create a Windows shortcut to start PuTTY from, and set it as \q{Run
You can also paste by pressing Shift-Ins.
-\S{faq-tunnels}{Question} How do I use X forwarding and port
-forwarding? I can't find the Tunnels panel.
-
-This is a new feature in version 0.52. You should upgrade.
-
\S{faq-options}{Question} How do I use all PuTTY's features (public
keys, proxying, cipher selection, etc.) in PSCP, PSFTP and Plink?
received on packet}?
One possible cause of this that used to be common is a bug in old
-SSH 2 servers distributed by \cw{ssh.com}. (This is not the only
+SSH-2 servers distributed by \cw{ssh.com}. (This is not the only
possible cause; see \k{errors-crc} in the documentation.)
-Version 2.3.0 and below of their SSH 2 server
+Version 2.3.0 and below of their SSH-2 server
constructs Message Authentication Codes in the wrong way, and
expects the client to construct them in the same wrong way. PuTTY
constructs the MACs correctly by default, and hence these old
If you are using PuTTY version 0.51 or below, you can enable the
workaround by going to the SSH panel and ticking the box labelled
-\q{Imitate SSH 2 MAC bug}. It's possible that you might have to do
+\q{Imitate SSH2 MAC bug}. It's possible that you might have to do
this with 0.52 as well, if a buggy server exists that PuTTY doesn't
know about.
the
\W{http://www.microsoft.com/windows95/downloads/contents/wuadmintools/s_wunetworkingtools/w95sockets2/}{WinSock 2 upgrade}:
-\c http://www.microsoft.com/windows95/downloads/contents/wuadmintools/
-\c s_wunetworkingtools/w95sockets2/
-
-\S{faq-rekey}{Question} My PuTTY sessions close after an hour and
-tell me \q{Server failed host key check}.
-
-This is a bug in all versions of PuTTY up to and including 0.51. SSH
-v2 servers from \cw{ssh.com} will require the key exchange to be
-repeated one hour after the start of the connection, and PuTTY will
-get this wrong.
-
-Upgrade to version 0.52 or better and the problem should go away.
+\c http://www.microsoft.com/windows95/downloads/contents/
+\c wuadmintools/s_wunetworkingtools/w95sockets2/
-\S{faq-outofmem}{Question} After trying to establish an SSH 2
+\S{faq-outofmem}{Question} After trying to establish an SSH-2
connection, PuTTY says \q{Out of memory} and dies.
If this happens just while the connection is starting up, this often
is a much simpler protocol.)
\S{faq-bce}{Question} When I run full-colour applications, I see
-areas of black space where colour ought to be.
+areas of black space where colour ought to be, or vice versa.
-You almost certainly need to enable the \q{Use background colour to
-erase screen} setting in the Terminal panel. Note that if you do
-this in mid-session, it may not take effect until you reset the
-terminal (see \k{faq-resetterm}).
+You almost certainly need to change the \q{Use background colour to
+erase screen} setting in the Terminal panel. If there is too much
+black space (the commoner situation), you should enable it, while if
+there is too much colour, you should disable it. (See \k{config-erase}.)
+
+In old versions of PuTTY, this was disabled by default, and would not
+take effect until you reset the terminal (see \k{faq-resetterm}).
+Since 0.54, it is enabled by default, and changes take effect
+immediately.
\S{faq-resetterm}{Question} When I change some terminal settings,
nothing happens.
In version 0.54, the behaviour has changed - changes to these
settings take effect immediately.
-\S{faq-altgr}{Question} I can't type characters that require the
-AltGr key.
-
-In PuTTY version 0.51, the AltGr key was broken. Upgrade to version
-0.52 or better.
-
\S{faq-idleout}{Question} My PuTTY sessions unexpectedly close after
they are idle for a while.
can't be set on per application or per session basis. To increase
the TCP timeout globally, you need to tinker with the Registry.
-On Windows 95, 98 or ME, the registry key you need to change is
+On Windows 95, 98 or ME, the registry key you need to create or
+change is
\c HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\
\c MSTCP\MaxDataRetries
(it must be of type DWORD in Win95, or String in Win98/ME).
+(See MS Knowledge Base article
+\W{http://support.microsoft.com/default.aspx?scid=kb;en-us;158474}{158474}
+for more information.)
On Windows NT or 2000, the registry key is
\c Parameters\TcpMaxDataRetransmissions
and it must be of type DWORD.
+(See MS Knowledge Base article
+\W{http://support.microsoft.com/default.aspx?scid=kb;en-us;120642}{120642}
+for more information.)
Set the key's value to something like 10. This will cause Windows to
try harder to keep connections alive instead of abandoning them.
\S{faq-puttyputty}{Question} When I \cw{cat} a binary file, I get
-`PuTTYPuTTYPuTTY' on my command line.
+\q{PuTTYPuTTYPuTTY} on my command line.
Don't do that, then.
\e{OpenSSH 3.1p1:} configurations known to be broken (and symptoms):
-\b SSH 2 with AES cipher (PuTTY says "Assertion failed! Expression:
-(len & 15) == 0" in sshaes.c, or "Out of memory", or crashes)
+\b SSH-2 with AES cipher (PuTTY says \q{Assertion failed! Expression:
+(len & 15) == 0} in \cw{sshaes.c}, or \q{Out of memory}, or crashes)
-\b SSH 2 with 3DES (PuTTY says "Incorrect MAC received on packet")
+\b SSH-2 with 3DES (PuTTY says \q{Incorrect MAC received on packet})
-\b SSH 1 with Blowfish (PuTTY says "Incorrect CRC received on
-packet")
+\b SSH-1 with Blowfish (PuTTY says \q{Incorrect CRC received on
+packet})
-\b SSH 1 with 3DES
+\b SSH-1 with 3DES
-\e{OpenSSH 3.4p1:} as of 3.4p1, only the problem with SSH 1 and
+\e{OpenSSH 3.4p1:} as of 3.4p1, only the problem with SSH-1 and
Blowfish remains. Rebuild your server, apply the patch linked to from
bug 138 above, or use another cipher (e.g., 3DES) instead.
and workarounds with older versions of OpenSSH, although it's not
clear the underlying cause is the same.
-\S{faq-ssh2key-ssh1conn}{Question} Why do I see "Couldn't load private
-key from ..."? Why can PuTTYgen load my key but not PuTTY?
+\S{faq-ssh2key-ssh1conn}{Question} Why do I see \q{Couldn't load
+private key from ...}? Why can PuTTYgen load my key but not PuTTY?
It's likely that you've generated an SSH protocol 2 key with PuTTYgen,
-but you're trying to use it in an SSH 1 connection. SSH1 and SSH2 keys
+but you're trying to use it in an SSH-1 connection. SSH-1 and SSH-2 keys
have different formats, and (at least in 0.52) PuTTY's reporting of a
key in the wrong format isn't optimal.
-To connect using SSH 2 to a server that supports both versions, you
+To connect using SSH-2 to a server that supports both versions, you
need to change the configuration from the default (see \k{faq-ssh2}).
\S{faq-rh8-utf8}{Question} When I'm connected to a Red Hat Linux 8.0
continue working. The simplest solution is to go to the Features
control panel and tick \q{Disable switching to alternate terminal
screen}. (See \k{config-features-altscreen} for more details.)
+Alternatively, you can tell \c{screen} itself not to use the
+alternate screen: the
+\W{http://www4.informatik.uni-erlangen.de/~jnweiger/screen-faq.html}{\c{screen}
+FAQ} suggests adding the line \cq{termcapinfo xterm ti@:te@} to your
+\cw{.screenrc} file.
The reason why this only started to be a problem in 0.54 is because
\c{screen} typically uses an unusual control sequence to switch to
the alternate screen, and previous versions of PuTTY did not support
this sequence.
+\S{faq-alternate-localhost}{Question} Since I upgraded Windows XP
+to Service Pack 2, I can't use addresses like \cw{127.0.0.2}.
+
+Some people who ask PuTTY to listen on localhost addresses other
+than \cw{127.0.0.1} to forward services such as SMB and Windows
+Terminal Services have found that doing so no longer works since
+they upgraded to WinXP SP2.
+
+This is apparently an issue with SP2 that is acknowledged by Microsoft
+in MS Knowledge Base article
+\W{http://support.microsoft.com/default.aspx?scid=kb;en-us;884020}{884020}.
+The article links to a fix you can download.
+
+(\e{However}, we've been told that SP2 \e{also} fixes the bug that
+means you need to use non-\cw{127.0.0.1} addresses to forward
+Terminal Services in the first place.)
+
+\S{faq-missing-slash}{Question} PSFTP commands seem to be missing a
+directory separator (slash).
+
+Some people have reported the following incorrect behaviour with
+PSFTP:
+
+\c psftp> pwd
+\e iii
+\c Remote directory is /dir1/dir2
+\c psftp> get filename.ext
+\e iiiiiiiiiiiiiiii
+\c /dir1/dir2filename.ext: no such file or directory
+
+This is not a bug in PSFTP. There is a known bug in some versions of
+portable OpenSSH
+(\W{http://bugzilla.mindrot.org/show_bug.cgi?id=697}{bug 697}) that
+causes these symptoms; it appears to have been introduced around
+3.7.x. It manifests only on certain platforms (AIX is what has been
+reported to us).
+
+There is a patch for OpenSSH attached to that bug; it's also fixed in
+recent versions of portable OpenSSH (from around 3.8).
+
+\S{faq-connaborted}{Question} Do you want to hear about \q{Software
+caused connection abort}?
+
+In the documentation for PuTTY 0.53 and 0.53b, we mentioned that we'd
+like to hear about any occurrences of this error. Since the release
+of PuTTY 0.54, however, we've been convinced that this error doesn't
+indicate that PuTTY's doing anything wrong, and we don't need to hear
+about further occurrences. See \k{errors-connaborted} for our current
+documentation of this error.
+
\H{faq-secure} Security questions
\S{faq-publicpc}{Question} Is it safe for me to download PuTTY and
the PC (see \k{faq-settings}). If you are using PuTTY on a public
PC, or somebody else's PC, you might want to clean these up when you
leave. You can do that automatically, by running the command
-\c{putty -cleanup}.
+\c{putty -cleanup}. (Note that this only removes settings for
+the currently logged-in user on \i{multi-user systems}.)
+
+If PuTTY was installed from the installer package, it will also
+appear in \q{Add/Remove Programs}. Uninstallation does not currently
+remove the above-mentioned registry entries and file.
\S{faq-dsa}{Question} How come PuTTY now supports DSA, when the
website used to say how insecure it was?
Also, security reasons. PuTTY is a security product, and as such it
is particularly important to guard the code and the web site against
unauthorised modifications which might introduce subtle security
-flaws. Therefore, we prefer that the CVS repository, web site and
+flaws. Therefore, we prefer that the Subversion repository, web site and
FTP site remain where they are, under the direct control of system
administrators we know and trust personally, rather than being run
by a large organisation full of people we've never met and which is
If someone else wants to set up a mailing list or other forum for
PuTTY users to help each other with common problems, that would be
fine with us, though the PuTTY team would almost certainly not have the
-time to read it. It's probably better to use the established
-newsgroup \cw{comp.security.ssh} for this purpose.
+time to read it. It's probably better to use one of the established
+newsgroups for this purpose (see \k{feedback-other-fora}).
\S{faq-donations}{Question} How can I donate to PuTTY development?
Having said all that, if you still really \e{want} to give us money,
we won't argue :-) The easiest way for us to accept donations is if
-you go to \W{http://www.e-gold.com}\cw{www.e-gold.com}, and deposit
-your donation in account number 174769. Then send us e-mail to let
-us know you've done so (otherwise we might not notice for months!).
-Alternatively, if e-gold isn't convenient for you, you can donate to
-\cw{<anakin@pobox.com>} using PayPal
-(\W{http://www.paypal.com/}\cw{www.paypal.com}).
+you send money to \cw{<anakin@pobox.com>} using PayPal
+(\W{http://www.paypal.com/}\cw{www.paypal.com}). Alternatively, if
+you don't trust PayPal, you could donate through e-gold
+(\W{http://www.e-gold.com}\cw{www.e-gold.com}): deposit your
+donation in account number 174769, then send us e-mail to let us
+know you've done so (otherwise we might not notice for months!).
Small donations (tens of dollars or tens of euros) will probably be
spent on beer or curry, which helps motivate our volunteer team to
something worthwhile, ask us first. If you don't like these terms,
feel perfectly free not to donate. We don't mind.
+\S{faq-permission}{Question} Can I have permission to put PuTTY on a
+cover disk / distribute it with other software / etc?
+
+Yes. You need not bother asking us explicitly for permission. You
+already have permission. Redistribution of the unmodified PuTTY
+binary in this way is entirely permitted by our licence (see
+\k{licence}), and you are welcome to do it as much as you like.
+
+If you are distributing PuTTY within your own organisation, or for
+use with your own product, then we recommend (but do not insist)
+that you offer your own first-line technical support, to answer
+questions directly relating to the interaction of PuTTY with your
+particular environment. If your users mail us directly, we won't be
+able to give them very much help about things specific to your own
+setup.
+
\H{faq-misc} Miscellaneous questions
\S{faq-openssh}{Question} Is PuTTY a port of OpenSSH, or based on
No, it isn't. PuTTY is almost completely composed of code written
from scratch for PuTTY. The only code we share with OpenSSH is the
-detector for SSH1 CRC compensation attacks, written by CORE SDI S.A.
+detector for SSH-1 CRC compensation attacks, written by CORE SDI S.A.
\S{faq-sillyputty}{Question} Where can I buy silly putty?