зеркало из https://github.com/github/putty.git
2106 строки
85 KiB
Plaintext
2106 строки
85 KiB
Plaintext
\versionid $Id: config.but,v 1.44 2002/10/22 09:40:38 simon Exp $
|
|
|
|
\C{config} Configuring PuTTY
|
|
|
|
This chapter describes all the configuration options in PuTTY.
|
|
|
|
PuTTY is configured using the control panel that comes up before you
|
|
start a session. Some options can also be changed in the middle of a
|
|
session, by selecting \q{Change Settings} from the window menu.
|
|
|
|
\H{config-session} The Session panel
|
|
|
|
The Session configuration panel contains the basic options you need
|
|
to specify in order to open a session at all, and also allows you to
|
|
save your settings to be reloaded later.
|
|
|
|
\S{config-hostname} The host name section
|
|
|
|
\cfg{winhelp-topic}{session.hostname}
|
|
|
|
The top box on the Session panel, labelled \q{Specify your
|
|
connection by host name}, contains the details that need to be
|
|
filled in before PuTTY can open a session at all.
|
|
|
|
\b The \q{Host Name} box is where you type the name, or the IP
|
|
address, of the server you want to connect to.
|
|
|
|
\b The \q{Protocol} radio buttons let you choose what type of
|
|
connection you want to make: a raw connection, a Telnet connection, an
|
|
rlogin connection or an SSH connection. (See \k{which-one} for a
|
|
summary of the differences between SSH, Telnet and rlogin.)
|
|
|
|
\b The \q{Port} box lets you specify which port number on the server
|
|
to connect to. If you select Telnet, Rlogin, or SSH, this box will
|
|
be filled in automatically to the usual value, and you will only
|
|
need to change it if you have an unusual server. If you select Raw
|
|
mode (see \k{using-rawprot}), you will almost certainly need to fill
|
|
in the \q{Port} box.
|
|
|
|
\S{config-saving} Loading and storing saved sessions
|
|
|
|
\cfg{winhelp-topic}{session.saved}
|
|
|
|
The next part of the Session configuration panel allows you to save
|
|
your preferred PuTTY options so they will appear automatically the
|
|
next time you start PuTTY. It also allows you to create \e{saved
|
|
sessions}, which contain a full set of configuration options plus a
|
|
host name and protocol. A saved session contains all the information
|
|
PuTTY needs to start exactly the session you want.
|
|
|
|
\b To save your default settings: first set up the settings the way
|
|
you want them saved. Then come back to the Session panel. Select the
|
|
\q{Default Settings} entry in the saved sessions list, with a single
|
|
click. Then press the \q{Save} button.
|
|
|
|
Note that PuTTY does not allow you to save a host name into the
|
|
Default Settings entry. This ensures that when PuTTY is started up,
|
|
the host name box is always empty, so a user can always just type in
|
|
a host name and connect.
|
|
|
|
If there is a specific host you want to store the details of how to
|
|
connect to, you should create a saved session, which will be
|
|
separate from the Default Settings.
|
|
|
|
\b To save a session: first go through the rest of the configuration
|
|
box setting up all the options you want. Then come back to the
|
|
Session panel. Enter a name for the saved session in the \q{Saved
|
|
Sessions} input box. (The server name is often a good choice for a
|
|
saved session name.) Then press the \q{Save} button. Your saved
|
|
session name should now appear in the list box.
|
|
|
|
\b To reload a saved session: single-click to select the session
|
|
name in the list box, and then press the \q{Load} button. Your saved
|
|
settings should all appear in the configuration panel.
|
|
|
|
\b To modify a saved session: first load it as described above. Then
|
|
make the changes you want. Come back to the Session panel,
|
|
single-click to select the session name in the list box, and press
|
|
the \q{Save} button. The new settings will be saved over the top of
|
|
the old ones.
|
|
|
|
\b To start a saved session immediately: double-click on the session
|
|
name in the list box.
|
|
|
|
\b To delete a saved session: single-click to select the session
|
|
name in the list box, and then press the \q{Delete} button.
|
|
|
|
Each saved session is independent of the Default Settings
|
|
configuration. If you change your preferences and update Default
|
|
Settings, you must also update every saved session separately.
|
|
|
|
\S{config-closeonexit} \q{Close Window on Exit}
|
|
|
|
\cfg{winhelp-topic}{session.coe}
|
|
|
|
Finally in the Session panel, there is an option labelled \q{Close
|
|
Window on Exit}. This controls whether the PuTTY session window
|
|
disappears as soon as the session inside it terminates. If you are
|
|
likely to want to copy and paste text out of the session after it
|
|
has terminated, you should arrange this option to be off.
|
|
|
|
\q{Close Window On Exit} has three settings. \q{Always} means always
|
|
close the window on exit; \q{Never} means never close on exit
|
|
(always leave the window open). The third setting, and the default
|
|
one, is \q{Only on clean exit}. In this mode, a session which
|
|
terminates normally will cause its window to close, but one which is
|
|
aborted unexpectedly by network trouble or a confusing message from
|
|
the server will leave the window up.
|
|
|
|
\H{config-logging} The Logging panel
|
|
|
|
\cfg{winhelp-topic}{logging.main}
|
|
|
|
The Logging configuration panel allows you to save log files of your
|
|
PuTTY sessions, for debugging, analysis or future reference.
|
|
|
|
The main option is a radio-button set that specifies whether PuTTY
|
|
will log anything at all. The options are
|
|
|
|
\b \q{Logging turned off completely}. This is the default option; in
|
|
this mode PuTTY will not create a log file at all.
|
|
|
|
\b \q{Log printable output only}. In this mode, a log file will be
|
|
created and written to, but only printable text will be saved into
|
|
it. The various terminal control codes that are typically sent down
|
|
an interactive session alongside the printable text will be omitted.
|
|
This might be a useful mode if you want to read a log file in a text
|
|
editor and hope to be able to make sense of it.
|
|
|
|
\b \q{Log all session output}. In this mode, \e{everything} sent by
|
|
the server into your terminal session is logged. If you view the log
|
|
file in a text editor, therefore, you may well find it full of
|
|
strange control characters. This is a particularly useful mode if
|
|
you are experiencing problems with PuTTY's terminal handling: you
|
|
can record everything that went to the terminal, so that someone
|
|
else can replay the session later in slow motion and watch to see
|
|
what went wrong.
|
|
|
|
\b \q{Log SSH packet data}. In this mode (which is only used by SSH
|
|
connections), the SSH message packets sent over the encrypted
|
|
connection are written to the log file. You might need this to debug
|
|
a network-level problem, or more likely to send to the PuTTY authors
|
|
as part of a bug report. \e{BE WARNED} that if you log in using a
|
|
password, the password will appear in the log file, so be sure to
|
|
edit it out before sending the log file to anyone else!
|
|
|
|
\S{config-logfilename} \q{Log file name}
|
|
|
|
\cfg{winhelp-topic}{logging.filename}
|
|
|
|
In this edit box you enter the name of the file you want to log the
|
|
session to. The \q{Browse} button will let you look around your file
|
|
system to find the right place to put the file; or if you already
|
|
know exactly where you want it to go, you can just type a pathname
|
|
into the edit box.
|
|
|
|
There are a few special features in this box. If you use the \c{&}
|
|
character in the file name box, PuTTY will insert details of the
|
|
current session in the name of the file it actually opens. The
|
|
precise replacements it will do are:
|
|
|
|
\b \c{&Y} will be replaced by the current year, as four digits.
|
|
|
|
\b \c{&M} will be replaced by the current month, as two digits.
|
|
|
|
\b \c{&D} will be replaced by the current day of the month, as two
|
|
digits.
|
|
|
|
\b \c{&T} will be replaced by the current time, as six digits
|
|
(HHMMSS) with no punctuation.
|
|
|
|
\b \c{&H} will be replaced by the host name you are connecting to.
|
|
|
|
For example, if you enter the host name
|
|
\c{c:\\puttylogs\\log-&h-&y&m&d-&t.dat}, you will end up with files looking
|
|
like
|
|
|
|
\c log-server1.example.com-20010528-110859.dat
|
|
\c log-unixbox.somewhere.org-20010611-221001.dat
|
|
|
|
\S{config-logfileexists} \q{What to do if the log file already exists}
|
|
|
|
\cfg{winhelp-topic}{logging.exists}
|
|
|
|
This control allows you to specify what PuTTY should do if it tries
|
|
to start writing to a log file and it finds the file already exists.
|
|
You might want to automatically destroy the existing log file and
|
|
start a new one with the same name. Alternatively, you might want to
|
|
open the existing log file and add data to the \e{end} of it.
|
|
Finally (the default option), you might not want to have any
|
|
automatic behaviour, but to ask the user every time the problem
|
|
comes up.
|
|
|
|
\H{config-terminal} The Terminal panel
|
|
|
|
The Terminal configuration panel allows you to control the behaviour
|
|
of PuTTY's terminal emulation.
|
|
|
|
\S{config-autowrap} \q{Auto wrap mode initially on}
|
|
|
|
\cfg{winhelp-topic}{terminal.autowrap}
|
|
|
|
Auto wrap mode controls what happens when text printed in a PuTTY
|
|
window reaches the right-hand edge of the window.
|
|
|
|
With auto wrap mode on, if a long line of text reaches the
|
|
right-hand edge, it will wrap over on to the next line so you can
|
|
still see all the text. With auto wrap mode off, the cursor will
|
|
stay at the right-hand edge of the screen, and all the characters in
|
|
the line will be printed on top of each other.
|
|
|
|
If you are running a full-screen application and you occasionally
|
|
find the screen scrolling up when it looks as if it shouldn't, you
|
|
could try turning this option off.
|
|
|
|
Auto wrap mode can be turned on and off by control sequences sent by
|
|
the server. This configuration option only controls the \e{default}
|
|
state. If you modify this option in mid-session using \q{Change
|
|
Settings}, you will need to reset the terminal (see
|
|
\k{reset-terminal}) before the change takes effect.
|
|
|
|
\S{config-decom} \q{DEC Origin Mode initially on}
|
|
|
|
\cfg{winhelp-topic}{terminal.decom}
|
|
|
|
DEC Origin Mode is a minor option which controls how PuTTY
|
|
interprets cursor-position control sequences sent by the server.
|
|
|
|
The server can send a control sequence that restricts the scrolling
|
|
region of the display. For example, in an editor, the server might
|
|
reserve a line at the top of the screen and a line at the bottom,
|
|
and might send a control sequence that causes scrolling operations
|
|
to affect only the remaining lines.
|
|
|
|
With DEC Origin Mode on, cursor coordinates are counted from the top
|
|
of the scrolling region. With it turned off, cursor coordinates are
|
|
counted from the top of the whole screen regardless of the scrolling
|
|
region.
|
|
|
|
It is unlikely you would need to change this option, but if you find
|
|
a full-screen application is displaying pieces of text in what looks
|
|
like the wrong part of the screen, you could try turning DEC Origin
|
|
Mode on to see whether that helps.
|
|
|
|
DEC Origin Mode can be turned on and off by control sequences sent
|
|
by the server. This configuration option only controls the
|
|
\e{default} state. If you modify this option in mid-session using
|
|
\q{Change Settings}, you will need to reset the terminal (see
|
|
\k{reset-terminal}) before the change takes effect.
|
|
|
|
\S{config-crlf} \q{Implicit CR in every LF}
|
|
|
|
\cfg{winhelp-topic}{terminal.lfhascr}
|
|
|
|
Most servers send two control characters, CR and LF, to start a new
|
|
line of the screen. The CR character makes the cursor return to the
|
|
left-hand side of the screen. The LF character makes the cursor move
|
|
one line down (and might make the screen scroll).
|
|
|
|
Some servers only send LF, and expect the terminal to move the
|
|
cursor over to the left automatically. If you come across a server
|
|
that does this, you will see a stepped effect on the screen, like
|
|
this:
|
|
|
|
\c First line of text
|
|
\c Second line
|
|
\c Third line
|
|
|
|
If this happens to you, try enabling the \q{Implicit CR in every LF}
|
|
option, and things might go back to normal:
|
|
|
|
\c First line of text
|
|
\c Second line
|
|
\c Third line
|
|
|
|
\S{config-erase} \q{Use background colour to erase screen}
|
|
|
|
\cfg{winhelp-topic}{terminal.bce}
|
|
|
|
Not all terminals agree on what colour to turn the screen when the
|
|
server sends a \q{clear screen} sequence. Some terminals believe the
|
|
screen should always be cleared to the \e{default} background
|
|
colour. Others believe the screen should be cleared to whatever the
|
|
server has selected as a background colour.
|
|
|
|
There exist applications that expect both kinds of behaviour.
|
|
Therefore, PuTTY can be configured to do either.
|
|
|
|
With this option disabled, screen clearing is always done in the
|
|
default background colour. With this option enabled, it is done in
|
|
the \e{current} background colour.
|
|
|
|
Background-colour erase can be turned on and off by control
|
|
sequences sent by the server. This configuration option only
|
|
controls the \e{default} state. If you modify this option in
|
|
mid-session using \q{Change Settings}, you will need to reset the
|
|
terminal (see \k{reset-terminal}) before the change takes effect.
|
|
|
|
\S{config-blink} \q{Enable blinking text}
|
|
|
|
\cfg{winhelp-topic}{terminal.blink}
|
|
|
|
The server can ask PuTTY to display text that blinks on and off.
|
|
This is very distracting, so PuTTY allows you to turn blinking text
|
|
off completely.
|
|
|
|
When blinking text is disabled and the server attempts to make some
|
|
text blink, PuTTY will instead display the text with a bolded
|
|
background colour.
|
|
|
|
Blinking text can be turned on and off by control sequences sent by
|
|
the server. This configuration option only controls the \e{default}
|
|
state. If you modify this option in mid-session using \q{Change
|
|
Settings}, you will need to reset the terminal (see
|
|
\k{reset-terminal}) before the change takes effect.
|
|
|
|
\S{config-answerback} \q{Answerback to ^E}
|
|
|
|
\cfg{winhelp-topic}{terminal.answerback}
|
|
|
|
This option controls what PuTTY will send back to the server if the
|
|
server sends it the ^E enquiry character. Normally it just sends
|
|
the string \q{PuTTY}.
|
|
|
|
If you accidentally write the contents of a binary file to your
|
|
terminal, you will probably find that it contains more than one ^E
|
|
character, and as a result your next command line will probably read
|
|
\q{PuTTYPuTTYPuTTY...} as if you had typed the answerback string
|
|
multiple times at the keyboard. If you set the answerback string to
|
|
be empty, this problem should go away, but doing so might cause
|
|
other problems.
|
|
|
|
Note that this is \e{not} the feature of PuTTY which the server will
|
|
typically use to determine your terminal type. That feature is the
|
|
\q{Terminal-type string} in the Connection panel; see
|
|
\k{config-termtype} for details.
|
|
|
|
You can include control characters in the answerback string using
|
|
\c{^C} notation. (Use \c{^~} to get a literal \c{^}.)
|
|
|
|
\S{config-localecho} \q{Local echo}
|
|
|
|
\cfg{winhelp-topic}{terminal.localecho}
|
|
|
|
With local echo disabled, characters you type into the PuTTY window
|
|
are not echoed in the window \e{by PuTTY}. They are simply sent to
|
|
the server. (The \e{server} might choose to echo them back to you;
|
|
this can't be controlled from the PuTTY control panel.)
|
|
|
|
Some types of session need local echo, and many do not. In its
|
|
default mode, PuTTY will automatically attempt to deduce whether or
|
|
not local echo is appropriate for the session you are working in. If
|
|
you find it has made the wrong decision, you can use this
|
|
configuration option to override its choice: you can force local
|
|
echo to be turned on, or force it to be turned off, instead of
|
|
relying on the automatic detection.
|
|
|
|
\S{config-localedit} \q{Local line editing}
|
|
|
|
\cfg{winhelp-topic}{terminal.localedit}
|
|
|
|
Normally, every character you type into the PuTTY window is sent
|
|
immediately to the server the moment you type it.
|
|
|
|
If you enable local line editing, this changes. PuTTY will let you
|
|
edit a whole line at a time locally, and the line will only be sent
|
|
to the server when you press Return. If you make a mistake, you can
|
|
use the Backspace key to correct it before you press Return, and the
|
|
server will never see the mistake.
|
|
|
|
Since it is hard to edit a line locally without being able to see
|
|
it, local line editing is mostly used in conjunction with local echo
|
|
(\k{config-localecho}). This makes it ideal for use in raw mode
|
|
\#{FIXME} or when connecting to MUDs or talkers. (Although some more
|
|
advanced MUDs do occasionally turn local line editing on and turn
|
|
local echo off, in order to accept a password from the user.)
|
|
|
|
Some types of session need local line editing, and many do not. In
|
|
its default mode, PuTTY will automatically attempt to deduce whether
|
|
or not local line editing is appropriate for the session you are
|
|
working in. If you find it has made the wrong decision, you can use
|
|
this configuration option to override its choice: you can force
|
|
local line editing to be turned on, or force it to be turned off,
|
|
instead of relying on the automatic detection.
|
|
|
|
\S{config-printing} Remote-controlled printing
|
|
|
|
\cfg{winhelp-topic}{terminal.printing}
|
|
|
|
A lot of VT100-compatible terminals support printing under control
|
|
of the remote server. PuTTY supports this feature as well, but it is
|
|
turned off by default.
|
|
|
|
To enable remote-controlled printing, choose a printer from the
|
|
\q{Printer to send ANSI printer output to} drop-down list box. This
|
|
should allow you to select from all the printers you have installed
|
|
drivers for on your computer. Alternatively, you can type the
|
|
network name of a networked printer (for example,
|
|
\c{\\\\printserver\\printer1}) even if you haven't already
|
|
installed a driver for it on your own machine.
|
|
|
|
When the remote server attempts to print some data, PuTTY will send
|
|
that data to the printer \e{raw} - without translating it,
|
|
attempting to format it, or doing anything else to it. It is up to
|
|
you to ensure your remote server knows what type of printer it is
|
|
talking to.
|
|
|
|
Since PuTTY sends data to the printer raw, it cannot offer options
|
|
such as portrait versus landscape, print quality, or paper tray
|
|
selection. All these things would be done by your PC printer driver
|
|
(which PuTTY bypasses); if you need them done, you will have to find
|
|
a way to configure your remote server to do them.
|
|
|
|
To disable remote printing again, choose \q{None (printing
|
|
disabled)} from the printer selection list. This is the default
|
|
state.
|
|
|
|
\H{config-keyboard} The Keyboard panel
|
|
|
|
The Keyboard configuration panel allows you to control the behaviour
|
|
of the keyboard in PuTTY.
|
|
|
|
\S{config-backspace} Changing the action of the Backspace key
|
|
|
|
\cfg{winhelp-topic}{keyboard.backspace}
|
|
|
|
Some terminals believe that the Backspace key should send the same
|
|
thing to the server as Control-H (ASCII code 8). Other terminals
|
|
believe that the Backspace key should send ASCII code 127 (usually
|
|
known as Control-?) so that it can be distinguished from Control-H.
|
|
This option allows you to choose which code PuTTY generates when you
|
|
press Backspace.
|
|
|
|
If you are connecting to a Unix system, you will probably find that
|
|
the Unix \c{stty} command lets you configure which the server
|
|
expects to see, so you might not need to change which one PuTTY
|
|
generates. On other systems, the server's expectation might be fixed
|
|
and you might have no choice but to configure PuTTY.
|
|
|
|
If you do have the choice, we recommend configuring PuTTY to
|
|
generate Control-? and configuring the server to expect it, because
|
|
that allows applications such as \c{emacs} to use Control-H for
|
|
help.
|
|
|
|
\S{config-homeend} Changing the action of the Home and End keys
|
|
|
|
\cfg{winhelp-topic}{keyboard.homeend}
|
|
|
|
The Unix terminal emulator \c{rxvt} disagrees with the rest of the
|
|
world about what character sequences should be sent to the server by
|
|
the Home and End keys.
|
|
|
|
\c{xterm}, and other terminals, send \c{ESC [1~} for the Home key,
|
|
and \c{ESC [4~} for the End key. \c{rxvt} sends \c{ESC [H} for the
|
|
Home key and \c{ESC [Ow} for the End key.
|
|
|
|
If you find an application on which the Home and End keys aren't
|
|
working, you could try switching this option to see if it helps.
|
|
|
|
\S{config-funkeys} Changing the action of the function keys and keypad
|
|
|
|
\cfg{winhelp-topic}{keyboard.funkeys}
|
|
|
|
This option affects the function keys (F1 to F12) and the top row of
|
|
the numeric keypad.
|
|
|
|
\b In the default mode, labelled \c{ESC [n~}, the function keys
|
|
generate sequences like \c{ESC [11~}, \c{ESC [12~} and so on. This
|
|
matches the general behaviour of Digital's terminals.
|
|
|
|
\b In Linux mode, F6 to F12 behave just like the default mode, but
|
|
F1 to F5 generate \c{ESC [[A} through to \c{ESC [[E}. This mimics the
|
|
Linux virtual console.
|
|
|
|
\b In Xterm R6 mode, F5 to F12 behave like the default mode, but F1
|
|
to F4 generate \c{ESC OP} through to \c{ESC OS}, which are the
|
|
sequences produced by the top row of the \e{keypad} on Digital's
|
|
terminals.
|
|
|
|
\b In VT400 mode, all the function keys behave like the default
|
|
mode, but the actual top row of the numeric keypad generates \c{ESC
|
|
OP} through to \c{ESC OS}.
|
|
|
|
\b In VT100+ mode, the function keys generate \c{ESC OP} through to
|
|
\c{ESC O[}
|
|
|
|
\b In SCO mode, the function keys F1 to F12 generate \c{ESC [M}
|
|
through to \c{ESC [X}. Together with shift, they generate \c{ESC [Y}
|
|
through to \c{ESC [j}. With control they generate \c{ESC [k} through
|
|
to \c{ESC [v}, and with shift and control together they generate
|
|
\c{ESC [w} through to \c{ESC [\{}.
|
|
|
|
If you don't know what any of this means, you probably don't need to
|
|
fiddle with it.
|
|
|
|
\S{config-appcursor} Controlling Application Cursor Keys mode
|
|
|
|
\cfg{winhelp-topic}{keyboard.appcursor}
|
|
|
|
Application Cursor Keys mode is a way for the server to change the
|
|
control sequences sent by the arrow keys. In normal mode, the arrow
|
|
keys send \c{ESC [A} through to \c{ESC [D}. In application mode,
|
|
they send \c{ESC OA} through to \c{ESC OD}.
|
|
|
|
Application Cursor Keys mode can be turned on and off by the server,
|
|
depending on the application. PuTTY allows you to configure the
|
|
initial state.
|
|
|
|
You can also disable application cursor keys mode completely, using
|
|
the \q{Features} configuration panel; see
|
|
\k{config-features-application}.
|
|
|
|
\S{config-appkeypad} Controlling Application Keypad mode
|
|
|
|
\cfg{winhelp-topic}{keyboard.appkeypad}
|
|
|
|
Application Keypad mode is a way for the server to change the
|
|
behaviour of the numeric keypad.
|
|
|
|
In normal mode, the keypad behaves like a normal Windows keypad:
|
|
with NumLock on, the number keys generate numbers, and with NumLock
|
|
off they act like the arrow keys and Home, End etc.
|
|
|
|
In application mode, all the keypad keys send special control
|
|
sequences, \e{including} Num Lock. Num Lock stops behaving like Num
|
|
Lock and becomes another function key.
|
|
|
|
Depending on which version of Windows you run, you may find the Num
|
|
Lock light still flashes on and off every time you press Num Lock,
|
|
even when application mode is active and Num Lock is acting like a
|
|
function key. This is unavoidable.
|
|
|
|
Application keypad mode can be turned on and off by the server,
|
|
depending on the application. PuTTY allows you to configure the
|
|
initial state.
|
|
|
|
You can also disable application keypad mode completely, using the
|
|
\q{Features} configuration panel; see
|
|
\k{config-features-application}.
|
|
|
|
\S{config-nethack} Using NetHack keypad mode
|
|
|
|
\cfg{winhelp-topic}{keyboard.nethack}
|
|
|
|
PuTTY has a special mode for playing NetHack. You can enable it by
|
|
selecting \q{NetHack} in the \q{Initial state of numeric keypad}
|
|
control.
|
|
|
|
In this mode, the numeric keypad keys 1-9 generate the NetHack
|
|
movement commands (\cw{hjklyubn}). The 5 key generates the \c{.}
|
|
command (do nothing).
|
|
|
|
Better still, pressing Shift with the keypad keys generates the
|
|
capital forms of the commands (\cw{HJKLYUBN}), which tells NetHack
|
|
to keep moving you in the same direction until you encounter
|
|
something interesting.
|
|
|
|
For some reason, this feature only works properly when Num Lock is
|
|
on. We don't know why.
|
|
|
|
\S{config-compose} Enabling a DEC-like Compose key
|
|
|
|
\cfg{winhelp-topic}{keyboard.compose}
|
|
|
|
DEC terminals have a Compose key, which provides an easy-to-remember
|
|
way of typing accented characters. You press Compose and then type
|
|
two more characters. The two characters are \q{combined} to produce
|
|
an accented character. The choices of character are designed to be
|
|
easy to remember; for example, composing \q{e} and \q{`} produces
|
|
the \q{\u00e8{e-grave}} character.
|
|
|
|
If your keyboard has a Windows Application key, it acts as a Compose
|
|
key in PuTTY. Alternatively, if you enable the \q{AltGr acts as
|
|
Compose key} option, the AltGr key will become a Compose key.
|
|
|
|
\S{config-ctrlalt} \q{Control-Alt is different from AltGr}
|
|
|
|
\cfg{winhelp-topic}{keyboard.ctrlalt}
|
|
|
|
Some old keyboards do not have an AltGr key, which can make it
|
|
difficult to type some characters. PuTTY can be configured to treat
|
|
the key combination Ctrl + Left Alt the same way as the AltGr key.
|
|
|
|
By default, this checkbox is checked, and the key combination Ctrl +
|
|
Left Alt does something completely different. PuTTY's usual handling
|
|
of the left Alt key is to prefix the Escape (Control-\cw{[})
|
|
character to whatever character sequence the rest of the keypress
|
|
would generate. For example, Alt-A generates Escape followed by
|
|
\c{a}. So Alt-Ctrl-A would generate Escape, followed by Control-A.
|
|
|
|
If you uncheck this box, Ctrl-Alt will become a synonym for AltGr,
|
|
so you can use it to type extra graphic characters if your keyboard
|
|
has any.
|
|
|
|
(However, Ctrl-Alt will never act as a Compose key, regardless of the
|
|
setting of \q{AltGr acts as Compose key} described in
|
|
\k{config-compose}.)
|
|
|
|
\H{config-bell} The Bell panel
|
|
|
|
The Bell panel controls the terminal bell feature: the server's
|
|
ability to cause PuTTY to beep at you.
|
|
|
|
In the default configuration, when the server sends the character
|
|
with ASCII code 7 (Control-G), PuTTY will play the Windows Default
|
|
Beep sound. This is not always what you want the terminal bell
|
|
feature to do; the Bell panel allows you to configure alternative
|
|
actions.
|
|
|
|
\S{config-bellstyle} \q{Set the style of bell}
|
|
|
|
\cfg{winhelp-topic}{bell.style}
|
|
|
|
This control allows you to select various different actions to occur
|
|
on a terminal bell:
|
|
|
|
\b Selecting \q{None} disables the bell completely. In this mode,
|
|
the server can send as many Control-G characters as it likes and
|
|
nothing at all will happen.
|
|
|
|
\b \q{Play Windows Default Sound} is the default setting. It causes
|
|
the Windows \q{Default Beep} sound to be played. To change what this
|
|
sound is, or to test it if nothing seems to be happening, use the
|
|
Sound configurer in the Windows Control Panel.
|
|
|
|
\b \q{Play a custom sound file} allows you to specify a particular
|
|
sound file to be used by PuTTY alone, or even by a particular
|
|
individual PuTTY session. This allows you to distinguish your PuTTY
|
|
beeps from any other beeps on the system. If you select this option,
|
|
you will also need to enter the name of your sound file in the edit
|
|
control \q{Custom sound file to play as a bell}.
|
|
|
|
\b \q{Visual bell} is a silent alternative to a beeping computer. In
|
|
this mode, when the server sends a Control-G, the whole PuTTY window
|
|
will flash white for a fraction of a second.
|
|
|
|
\S{config-belltaskbar} \q{Taskbar/caption indication on bell}
|
|
|
|
\cfg{winhelp-topic}{bell.taskbar}
|
|
|
|
This feature controls what happens to the PuTTY window's entry in
|
|
the Windows Taskbar if a bell occurs while the window does not have
|
|
the input focus.
|
|
|
|
In the default state (\q{Disabled}) nothing unusual happens.
|
|
|
|
If you select \q{Steady}, then when a bell occurs and the window is
|
|
not in focus, the window's Taskbar entry and its title bar will
|
|
change colour to let you know that PuTTY session is asking for your
|
|
attention. The change of colour will persist until you select the
|
|
window, so you can leave several PuTTY windows minimised in your
|
|
terminal, go away from your keyboard, and be sure not to have missed
|
|
any important beeps when you get back.
|
|
|
|
\q{Flashing} is even more eye-catching: the Taskbar entry will
|
|
continuously flash on and off until you select the window.
|
|
|
|
\S{config-bellovl} \q{Control the bell overload behaviour}
|
|
|
|
\cfg{winhelp-topic}{bell.overload}
|
|
|
|
A common user error in a terminal session is to accidentally run the
|
|
Unix command \c{cat} (or equivalent) on an inappropriate file type,
|
|
such as an executable, image file, or ZIP file. This produces a huge
|
|
stream of non-text characters sent to the terminal, which typically
|
|
includes a lot of bell characters. As a result of this the terminal
|
|
often doesn't stop beeping for ten minutes, and everybody else in
|
|
the office gets annoyed.
|
|
|
|
To try to avoid this behaviour, or any other cause of excessive
|
|
beeping, PuTTY includes a bell overload management feature. In the
|
|
default configuration, receiving more than five bell characters in a
|
|
two-second period will cause the overload feature to activate. Once
|
|
the overload feature is active, further bells will have no effect at
|
|
all, so the rest of your binary file will be sent to the screen in
|
|
silence. After a period of five seconds during which no further
|
|
bells are received, the overload feature will turn itself off again
|
|
and bells will be re-enabled.
|
|
|
|
If you want this feature completely disabled, you can turn it off
|
|
using the checkbox \q{Bell is temporarily disabled when over-used}.
|
|
|
|
Alternatively, if you like the bell overload feature but don't agree
|
|
with the settings, you can configure the details: how many bells
|
|
constitute an overload, how short a time period they have to arrive
|
|
in to do so, and how much silent time is required before the
|
|
overload feature will deactivate itself.
|
|
|
|
Bell overload mode is always deactivated by any keypress in the
|
|
terminal. This means it can respond to large unexpected streams of
|
|
data, but does not interfere with ordinary command-line activities
|
|
that generate beeps (such as filename completion).
|
|
|
|
\H{config-features} The Features panel
|
|
|
|
PuTTY's terminal emulation is very highly featured, and can do a lot
|
|
of things under remote server control. Some of these features can
|
|
cause problems due to buggy or strangely configured server
|
|
applications.
|
|
|
|
The Features configuration panel allows you to disable some of
|
|
PuTTY's more advanced terminal features, in case they cause trouble.
|
|
|
|
\S{config-features-application} Disabling application keypad and cursor keys
|
|
|
|
\cfg{winhelp-topic}{features.application}
|
|
|
|
Application keypad mode (see \k{config-appkeypad}) and application
|
|
cursor keys mode (see \k{config-appcursor}) alter the behaviour of
|
|
the keypad and cursor keys. Some applications enable these modes but
|
|
then do not deal correctly with the modified keys. You can force
|
|
these modes to be permanently disabled no matter what the server
|
|
tries to do.
|
|
|
|
\S{config-features-mouse} Disabling \cw{xterm}-style mouse reporting
|
|
|
|
\cfg{winhelp-topic}{features.mouse}
|
|
|
|
PuTTY allows the server to send control codes that let it take over
|
|
the mouse and use it for purposes other than copy and paste.
|
|
Applications which use this feature include the text-mode web
|
|
browser \c{links}, the Usenet newsreader \c{trn} version 4, and the
|
|
file manager \c{mc} (Midnight Commander).
|
|
|
|
If you find this feature inconvenient, you can disable it using the
|
|
\q{Disable xterm-style mouse reporting} control. With this box
|
|
ticked, the mouse will \e{always} do copy and paste in the normal
|
|
way.
|
|
|
|
Note that even if the application takes over the mouse, you can
|
|
still manage PuTTY's copy and paste by holding down the Shift key
|
|
while you select and paste, unless you have deliberately turned this
|
|
feature off (see \k{config-mouseshift}).
|
|
|
|
\S{config-features-resize} Disabling remote terminal resizing
|
|
|
|
\cfg{winhelp-topic}{features.resize}
|
|
|
|
PuTTY has the ability to change the terminal's size and position in
|
|
response to commands from the server. If you find PuTTY is doing
|
|
this unexpectedly or inconveniently, you can tell PuTTY not to
|
|
respond to those server commands.
|
|
|
|
\S{config-features-altscreen} Disabling switching to the alternate screen
|
|
|
|
\cfg{winhelp-topic}{features.altscreen}
|
|
|
|
Many terminals, including PuTTY, support an \q{alternate screen}.
|
|
This is the same size as the ordinary terminal screen, but separate.
|
|
Typically a screen-based program such as a text editor might switch
|
|
the terminal to the alternate screen before starting up. Then at the
|
|
end of the run, it switches back to the primary screen, and you see
|
|
the screen contents just as they were before starting the editor.
|
|
|
|
Some people prefer this not to happen. If you want your editor to
|
|
run in the same screen as the rest of your terminal activity, you
|
|
can disable the alternate screen feature completely.
|
|
|
|
\S{config-features-retitle} Disabling remote window title changing
|
|
|
|
\cfg{winhelp-topic}{features.retitle}
|
|
|
|
PuTTY has the ability to change the window title in response to
|
|
commands from the server. If you find PuTTY is doing this
|
|
unexpectedly or inconveniently, you can tell PuTTY not to respond to
|
|
those server commands.
|
|
|
|
\S{config-features-dbackspace} Disabling destructive backspace
|
|
|
|
\cfg{winhelp-topic}{features.dbackspace}
|
|
|
|
Normally, when PuTTY receives character 127 (^?) from the server, it
|
|
will perform a \q{destructive backspace}: move the cursor one space
|
|
left and delete the character under it. This can apparently cause
|
|
problems in some applications, so PuTTY provides the ability to
|
|
configure character 127 to perform a normal backspace (without
|
|
deleting a character) instead.
|
|
|
|
\S{config-features-charset} Disabling remote character set
|
|
configuration
|
|
|
|
\cfg{winhelp-topic}{features.charset}
|
|
|
|
PuTTY has the ability to change its character set configuration in
|
|
response to commands from the server. Some programs send these
|
|
commands unexpectedly or inconveniently. In particular, BitchX (an
|
|
IRC client) seems to have a habit of reconfiguring the character set
|
|
to something other than the user intended.
|
|
|
|
If you find that accented characters are not showing up the way you
|
|
expect them to, particularly if you're running BitchX, you could try
|
|
disabling the remote character set configuration commands.
|
|
|
|
\H{config-window} The Window panel
|
|
|
|
The Window configuration panel allows you to control aspects of the
|
|
PuTTY window.
|
|
|
|
\S{config-winsize} Setting the size of the PuTTY window
|
|
|
|
\cfg{winhelp-topic}{window.size}
|
|
|
|
The \q{Rows} and \q{Columns} boxes let you set the PuTTY window to a
|
|
precise size. Of course you can also drag the window to a new size
|
|
while a session is running.
|
|
|
|
\S{config-winsizelock} What to do when the window is resized
|
|
|
|
\cfg{winhelp-topic}{window.resize}
|
|
|
|
These options allow you to control what happens when the user tries
|
|
to resize the PuTTY window.
|
|
|
|
When you resize the PuTTY window, one of four things can happen:
|
|
|
|
\b Nothing (if you have completely disabled resizes).
|
|
|
|
\b The font size can stay the same and the number of rows and
|
|
columns in the terminal can change.
|
|
|
|
\b The number of rows and columns in the terminal can stay the same,
|
|
and the font size can change.
|
|
|
|
\b You can allow PuTTY to change \e{either} the terminal size or the
|
|
font size. In this mode it will change the terminal size most of the
|
|
time, but enlarge the font when you maximise the window.
|
|
|
|
You can control which of these happens using the \q{Lock terminal
|
|
size against resizing} and \q{Lock font size against resizing}
|
|
options. If you lock both, the window will refuse to be resized at
|
|
all. If you lock just the terminal size, the font size will change
|
|
when you resize the window. If you lock just the font size, the
|
|
terminal size will change when you resize the window.
|
|
|
|
\S{config-scrollback} Controlling scrollback
|
|
|
|
\cfg{winhelp-topic}{window.scrollback}
|
|
|
|
These options let you configure the way PuTTY keeps text after it
|
|
scrolls off the top of the screen (see \k{using-scrollback}).
|
|
|
|
The \q{Lines of scrollback} box lets you configure how many lines of
|
|
text PuTTY keeps. The \q{Display scrollbar} options allow you to
|
|
hide the scrollbar (although you can still view the scrollback using
|
|
Shift-PgUp and Shift-PgDn). You can separately configure whether the
|
|
scrollbar is shown in full-screen mode and in normal modes.
|
|
|
|
If you are viewing part of the scrollback when the server sends more
|
|
text to PuTTY, the screen will revert to showing the current
|
|
terminal contents. You can disable this behaviour by turning off
|
|
\q{Reset scrollback on display activity}. You can also make the
|
|
screen revert when you press a key, by turning on \q{Reset
|
|
scrollback on keypress}.
|
|
|
|
\H{config-appearance} The Appearance panel
|
|
|
|
The Appearance configuration panel allows you to control aspects of
|
|
the appearance of PuTTY's window.
|
|
|
|
\S{config-cursor} Controlling the appearance of the cursor
|
|
|
|
\cfg{winhelp-topic}{appearance.cursor}
|
|
|
|
The \q{Cursor appearance} option lets you configure the cursor to be
|
|
a block, an underline, or a vertical line. A block cursor becomes an
|
|
empty box when the window loses focus; an underline or a vertical
|
|
line becomes dotted.
|
|
|
|
The \q{Cursor blinks} option makes the cursor blink on and off. This
|
|
works in any of the cursor modes.
|
|
|
|
\S{config-font} Controlling the font used in the terminal window
|
|
|
|
\cfg{winhelp-topic}{appearance.font}
|
|
|
|
This option allows you to choose what font, in what size, the PuTTY
|
|
terminal window uses to display the text in the session. You will be
|
|
offered a choice from all the fixed-width fonts installed on the
|
|
system. (VT100-style terminal handling can only deal with fixed-
|
|
width fonts.)
|
|
|
|
\S{config-title} Controlling the window title
|
|
|
|
\cfg{winhelp-topic}{appearance.title}
|
|
|
|
The \q{Window title} edit box allows you to set the title of the
|
|
PuTTY window. By default the window title will contain the host name
|
|
followed by \q{PuTTY}, for example \c{server1.example.com - PuTTY}.
|
|
If you want a different window title, this is where to set it.
|
|
|
|
PuTTY allows the server to send \c{xterm} control sequences which
|
|
modify the title of the window in mid-session. There is also an
|
|
\c{xterm} sequence to modify the title of the window's \e{icon}.
|
|
This makes sense in a windowing system where the window becomes an
|
|
icon when minimised, such as Windows 3.1 or most X Window System
|
|
setups; but in the Windows 95-like user interface it isn't as
|
|
applicable. By default PuTTY's window title and Taskbar caption will
|
|
change into the server-supplied icon title if you minimise the PuTTY
|
|
window, and change back to the server-supplied window title if you
|
|
restore it. (If the server has not bothered to supply a window or
|
|
icon title, none of this will happen.) By checking the box marked
|
|
\q{Avoid ever using icon title}, you can arrange that PuTTY will
|
|
always display the window title, and completely ignore any icon
|
|
titles the server sends it.
|
|
|
|
\S{config-mouseptr} \q{Hide mouse pointer when typing in window}
|
|
|
|
\cfg{winhelp-topic}{appearance.hidemouse}
|
|
|
|
If you enable this option, the mouse pointer will disappear if the
|
|
PuTTY window is selected and you press a key. This way, it will not
|
|
obscure any of the text in the window while you work in your
|
|
session. As soon as you move the mouse, the pointer will reappear.
|
|
|
|
This option is disabled by default, so the mouse pointer remains
|
|
visible at all times.
|
|
|
|
\S{config-winborder} Controlling the window border
|
|
|
|
\cfg{winhelp-topic}{appearance.border}
|
|
|
|
PuTTY allows you to configure the appearance of the window border to
|
|
some extent.
|
|
|
|
The checkbox marked \q{Sunken-edge border} changes the appearance of
|
|
the window border to something more like a DOS box: the inside edge
|
|
of the border is highlighted as if it sank down to meet the surface
|
|
inside the window. This makes the border a little bit thicker as
|
|
well. It's hard to describe well. Try it and see if you like it.
|
|
|
|
You can also configure a completely blank gap between the text in
|
|
the window and the border, using the \q{Gap between text and window
|
|
edge} control. By default this is set at one pixel. You can reduce
|
|
it to zero, or increase it further.
|
|
|
|
\H{config-behaviour} The Behaviour panel
|
|
|
|
The Behaviour configuration panel allows you to control aspects of
|
|
the behaviour of PuTTY's window.
|
|
|
|
\S{config-warnonclose} \q{Warn before closing window}
|
|
|
|
\cfg{winhelp-topic}{behaviour.closewarn}
|
|
|
|
If you press the Close button in a PuTTY window that contains a
|
|
running session, PuTTY will put up a warning window asking if you
|
|
really meant to close the window. A window whose session has already
|
|
terminated can always be closed without a warning.
|
|
|
|
If you want to be able to close a window quickly, you can disable
|
|
the \q{Warn before closing window} option.
|
|
|
|
\S{config-altf4} \q{Window closes on ALT-F4}
|
|
|
|
\cfg{winhelp-topic}{behaviour.altf4}
|
|
|
|
By default, pressing ALT-F4 causes the window to close (or a warning
|
|
box to appear; see \k{config-warnonclose}). If you disable the
|
|
\q{Window closes on ALT-F4} option, then pressing ALT-F4 will simply
|
|
send a key sequence to the server.
|
|
|
|
\S{config-altspace} \q{System menu appears on ALT-Space}
|
|
|
|
\cfg{winhelp-topic}{behaviour.altspace}
|
|
|
|
If this option is enabled, then pressing ALT-Space will bring up the
|
|
PuTTY window's menu, like clicking on the top left corner. If it is
|
|
disabled, then pressing ALT-Space will just send \c{ESC SPACE} to
|
|
the server.
|
|
|
|
Some accessibility programs for Windows may need this option
|
|
enabling to be able to control PuTTY's window successfully. For
|
|
instance, Dragon NaturallySpeaking requires it both to open the
|
|
system menu via voice, and to close, minimise, maximise and restore
|
|
the window.
|
|
|
|
\S{config-altonly} \q{System menu appears on Alt alone}
|
|
|
|
\cfg{winhelp-topic}{behaviour.altonly}
|
|
|
|
If this option is enabled, then pressing and releasing ALT will
|
|
bring up the PuTTY window's menu, like clicking on the top left
|
|
corner. If it is disabled, then pressing and releasing ALT will have
|
|
no effect.
|
|
|
|
\S{config-alwaysontop} \q{Ensure window is always on top}
|
|
|
|
\cfg{winhelp-topic}{behaviour.alwaysontop}
|
|
|
|
If this option is enabled, the PuTTY window will stay on top of all
|
|
other windows.
|
|
|
|
\S{config-fullscreen} \q{Full screen on Alt-Enter}
|
|
|
|
\cfg{winhelp-topic}{behaviour.altenter}
|
|
|
|
If this option is enabled, then pressing Alt-Enter will cause the
|
|
PuTTY window to become full-screen. Pressing Alt-Enter again will
|
|
restore the previous window size.
|
|
|
|
The full-screen feature is also available from the System menu, even
|
|
when it is configured not to be available on the Alt-Enter key. See
|
|
\k{using-fullscreen}.
|
|
|
|
\H{config-translation} The Translation panel
|
|
|
|
The Translation configuration panel allows you to control the
|
|
translation between the character set understood by the server and
|
|
the character set understood by PuTTY.
|
|
|
|
\S{config-charset} Controlling character set translation
|
|
|
|
\cfg{winhelp-topic}{translation.codepage}
|
|
|
|
During an interactive session, PuTTY receives a stream of 8-bit
|
|
bytes from the server, and in order to display them on the screen it
|
|
needs to know what character set to interpret them in.
|
|
|
|
There are a lot of character sets to choose from. The \q{Received
|
|
data assumed to be in which character set} option lets you select
|
|
one. By default PuTTY will attempt to choose a character set that is
|
|
right for your locale as reported by Windows; if it gets it wrong,
|
|
you can select a different one using this control.
|
|
|
|
A few notable character sets are:
|
|
|
|
\b The ISO-8859 series are all standard character sets that include
|
|
various accented characters appropriate for different sets of
|
|
languages.
|
|
|
|
\b The Win125x series are defined by Microsoft, for similar
|
|
purposes. In particular Win1252 is almost equivalent to ISO-8859-1,
|
|
but contains a few extra characters such as matched quotes and the
|
|
Euro symbol.
|
|
|
|
\b If you want the old IBM PC character set with block graphics and
|
|
line-drawing characters, you can select \q{CP437}.
|
|
|
|
\b PuTTY also supports Unicode mode, in which the data coming from
|
|
the server is interpreted as being in the UTF-8 encoding of Unicode.
|
|
If you select \q{UTF-8} as a character set you can use this mode.
|
|
Not all server-side applications will support it.
|
|
|
|
If you need support for a numeric code page which is not listed in
|
|
the drop-down list, such as code page 866, then you should be able
|
|
to enter its name manually (\c{CP866} for example) in the list box
|
|
and get the right result.
|
|
|
|
\S{config-cyr} \q{Caps Lock acts as Cyrillic switch}
|
|
|
|
\cfg{winhelp-topic}{translation.cyrillic}
|
|
|
|
This feature allows you to switch between a US/UK keyboard layout
|
|
and a Cyrillic keyboard layout by using the Caps Lock key, if you
|
|
need to type (for example) Russian and English side by side in the
|
|
same document.
|
|
|
|
Currently this feature is not expected to work properly if your
|
|
native keyboard layout is not US or UK.
|
|
|
|
\S{config-linedraw} Controlling display of line drawing characters
|
|
|
|
\cfg{winhelp-topic}{translation.linedraw}
|
|
|
|
VT100-series terminals allow the server to send control sequences
|
|
that shift temporarily into a separate character set for drawing
|
|
lines and boxes. PuTTY has a variety of ways to support this
|
|
capability. In general you should probably try lots of options until
|
|
you find one that your particular font supports.
|
|
|
|
\b \q{Font has XWindows encoding} is for use with fonts that have a
|
|
special encoding, where the lowest 32 character positions (below the
|
|
ASCII printable range) contain the line-drawing characters. This is
|
|
unlikely to be the case with any standard Windows font; it will
|
|
probably only apply to custom-built fonts or fonts that have been
|
|
automatically converted from the X Window System.
|
|
|
|
\b \q{Use font in both ANSI and OEM modes} tries to use the same
|
|
font in two different character sets, to obtain a wider range of
|
|
characters. This doesn't always work; some fonts claim to be a
|
|
different size depending on which character set you try to use.
|
|
|
|
\b \q{Use font in OEM mode only} is more reliable than that, but can
|
|
miss out other characters from the main character set.
|
|
|
|
\b \q{Poor man's line drawing} assumes that the font \e{cannot}
|
|
generate the line and box characters at all, so it will use the
|
|
\c{+}, \c{-} and \c{|} characters to draw approximations to boxes.
|
|
You should use this option if none of the other options works.
|
|
|
|
\b \q{Unicode mode} tries to use the box characters that are present
|
|
in Unicode. For good Unicode-supporting fonts this is probably the
|
|
most reliable and functional option.
|
|
|
|
\H{config-selection} The Selection panel
|
|
|
|
The Selection panel allows you to control the way copy and paste
|
|
work in the PuTTY window.
|
|
|
|
\S{config-linedrawpaste} Controlling the pasting of line drawing
|
|
characters
|
|
|
|
\cfg{winhelp-topic}{selection.linedraw}
|
|
|
|
By default, when you copy and paste a piece of the PuTTY screen that
|
|
contains VT100 line and box drawing characters, PuTTY will translate
|
|
them into the \q{poor man's} line-drawing characters \c{+}, \c{-}
|
|
and \c{|}. The checkbox \q{Don't translate line drawing chars}
|
|
disables this feature, so line-drawing characters will be pasted as
|
|
if they were in the normal character set. This will typically mean
|
|
they come out mostly as \c{q} and \c{x}, with a scattering of
|
|
\c{jklmntuvw} at the corners. This might be useful if you were
|
|
trying to recreate the same box layout in another program, for
|
|
example.
|
|
|
|
\S{config-rtfpaste} Pasting in Rich Text Format
|
|
|
|
\cfg{winhelp-topic}{selection.rtf}
|
|
|
|
If you enable \q{Paste to clipboard in RTF as well as plain text},
|
|
PuTTY will write formatting information to the clipboard as well as
|
|
the actual text you copy. Currently the only effect of this will be
|
|
that if you paste into (say) a word processor, the text will appear
|
|
in the word processor in the same font PuTTY was using to display
|
|
it. In future it is likely that other formatting information (bold,
|
|
underline, colours) will be copied as well.
|
|
|
|
This option can easily be inconvenient, so by default it is
|
|
disabled.
|
|
|
|
\S{config-mouse} Changing the actions of the mouse buttons
|
|
|
|
\cfg{winhelp-topic}{selection.buttons}
|
|
|
|
PuTTY's copy and paste mechanism is modelled on the Unix \c{xterm}
|
|
application. The X Window System uses a three-button mouse, and the
|
|
convention is that the left button selects, the right button extends
|
|
an existing selection, and the middle button pastes.
|
|
|
|
Windows typically only has two mouse buttons, so in PuTTY's default
|
|
configuration, the \e{right} button pastes, and the \e{middle}
|
|
button (if you have one) extends a selection.
|
|
|
|
If you have a three-button mouse and you are already used to the
|
|
\c{xterm} arrangement, you can select it using the \q{Action of
|
|
mouse buttons} control.
|
|
|
|
\S{config-mouseshift} \q{Shift overrides application's use of mouse}
|
|
|
|
\cfg{winhelp-topic}{selection.shiftdrag}
|
|
|
|
PuTTY allows the server to send control codes that let it take over
|
|
the mouse and use it for purposes other than copy and paste.
|
|
Applications which use this feature include the text-mode web
|
|
browser \c{links}, the Usenet newsreader \c{trn} version 4, and the
|
|
file manager \c{mc} (Midnight Commander).
|
|
|
|
When running one of these applications, pressing the mouse buttons
|
|
no longer performs copy and paste. If you do need to copy and paste,
|
|
you can still do so if you hold down Shift while you do your mouse
|
|
clicks.
|
|
|
|
However, it is possible in theory for applications to even detect
|
|
and make use of Shift + mouse clicks. We don't know of any
|
|
applications that do this, but in case someone ever writes one,
|
|
unchecking the \q{Shift overrides application's use of mouse}
|
|
checkbox will cause Shift + mouse clicks to go to the server as well
|
|
(so that mouse-driven copy and paste will be completely disabled).
|
|
|
|
If you want to prevent the application from taking over the mouse at
|
|
all, you can do this using the Features control panel; see
|
|
\k{config-features-mouse}.
|
|
|
|
\S{config-rectselect} Default selection mode
|
|
|
|
\cfg{winhelp-topic}{selection.rect}
|
|
|
|
As described in \k{using-selection}, PuTTY has two modes of
|
|
selecting text to be copied to the clipboard. In the default mode
|
|
(\q{Normal}), dragging the mouse from point A to point B selects to
|
|
the end of the line containing A, all the lines in between, and from
|
|
the very beginning of the line containing B. In the other mode
|
|
(\q{Rectangular block}), dragging the mouse between two points
|
|
defines a rectangle, and everything within that rectangle is copied.
|
|
|
|
Normally, you have to hold down Alt while dragging the mouse to
|
|
select a rectangular block. Using the \q{Default selection mode}
|
|
control, you can set rectangular selection as the default, and then
|
|
you have to hold down Alt to get the \e{normal} behaviour.
|
|
|
|
\S{config-charclasses} Configuring word-by-word selection
|
|
|
|
\cfg{winhelp-topic}{selection.charclasses}
|
|
|
|
PuTTY will select a word at a time in the terminal window if you
|
|
double-click to begin the drag. This panel allows you to control
|
|
precisely what is considered to be a word.
|
|
|
|
Each character is given a \e{class}, which is a small number
|
|
(typically 0, 1 or 2). PuTTY considers a single word to be any
|
|
number of adjacent characters in the same class. So by modifying the
|
|
assignment of characters to classes, you can modify the word-by-word
|
|
selection behaviour.
|
|
|
|
In the default configuration, the character classes are:
|
|
|
|
\b Class 0 contains white space and control characters.
|
|
|
|
\b Class 1 contains most punctuation.
|
|
|
|
\b Class 2 contains letters, numbers and a few pieces of punctuation
|
|
(the double quote, minus sign, period, forward slash and
|
|
underscore).
|
|
|
|
So, for example, if you assign the \c{@} symbol into character class
|
|
2, you will be able to select an e-mail address with just a double
|
|
click.
|
|
|
|
In order to adjust these assignments, you start by selecting a group
|
|
of characters in the list box. Then enter a class number in the edit
|
|
box below, and press the \q{Set} button.
|
|
|
|
This mechanism currently only covers ASCII characters, because it
|
|
isn't feasible to expand the list to cover the whole of Unicode.
|
|
|
|
Character class definitions can be modified by control sequences
|
|
sent by the server. This configuration option only controls the
|
|
\e{default} state. If you modify this option in mid-session using
|
|
\q{Change Settings}, you will need to reset the terminal (see
|
|
\k{reset-terminal}) before the change takes effect.
|
|
|
|
\H{config-colours} The Colours panel
|
|
|
|
The Colours panel allows you to control PuTTY's use of colour.
|
|
|
|
\S{config-boldcolour} \q{Bolded text is a different colour}
|
|
|
|
\cfg{winhelp-topic}{colours.bold}
|
|
|
|
When the server sends a control sequence indicating that some text
|
|
should be displayed in bold, PuTTY can handle this two ways. It can
|
|
either change the font for a bold version, or use the same font in a
|
|
brighter colour. This control lets you choose which.
|
|
|
|
By default the box is checked, so non-bold text is displayed in
|
|
light grey and bold text is displayed in bright white (and similarly
|
|
in other colours). If you uncheck the box, bold and non-bold text
|
|
will be displayed in the same colour, and instead the font will
|
|
change to indicate the difference.
|
|
|
|
\S{config-logpalette} \q{Attempt to use logical palettes}
|
|
|
|
\cfg{winhelp-topic}{colours.logpal}
|
|
|
|
Logical palettes are a mechanism by which a Windows application
|
|
running on an 8-bit colour display can select precisely the colours
|
|
it wants instead of going with the Windows standard defaults.
|
|
|
|
If you are not getting the colours you ask for on an 8-bit display,
|
|
you can try enabling this option. However, be warned that it's never
|
|
worked very well.
|
|
|
|
\S{config-colourcfg} Adjusting the colours in the terminal window
|
|
|
|
\cfg{winhelp-topic}{colours.config}
|
|
|
|
The main colour control allows you to specify exactly what colours
|
|
things should be displayed in. To modify one of the PuTTY colours,
|
|
use the list box to select which colour you want to modify. The RGB
|
|
values for that colour will appear on the right-hand side of the
|
|
list box. Now, if you press the \q{Modify} button, you will be
|
|
presented with a colour selector, in which you can choose a new
|
|
colour to go in place of the old one.
|
|
|
|
PuTTY allows you to set the cursor colour, the default foreground
|
|
and background, and the precise shades of all the ANSI configurable
|
|
colours (black, red, green, yellow, blue, magenta, cyan, and white).
|
|
In addition, if you have selected \q{Bolded text is a different
|
|
colour}, you can also modify the precise shades used for the bold
|
|
versions of these colours.
|
|
|
|
\H{config-connection} The Connection panel
|
|
|
|
The Connection panel allows you to configure options that apply to
|
|
more than one type of connection.
|
|
|
|
\S{config-termtype} \q{Terminal-type string}
|
|
|
|
\cfg{winhelp-topic}{connection.termtype}
|
|
|
|
Most servers you might connect to with PuTTY are designed to be
|
|
connected to from lots of different types of terminal. In order to
|
|
send the right control sequences to each one, the server will need
|
|
to know what type of terminal it is dealing with. Therefore, each of
|
|
the SSH, Telnet and Rlogin protocols allow a text string to be sent
|
|
down the connection describing the terminal.
|
|
|
|
PuTTY attempts to emulate the Unix \c{xterm} program, and by default
|
|
it reflects this by sending \c{xterm} as a terminal-type string. If
|
|
you find this is not doing what you want - perhaps the remote
|
|
terminal reports \q{Unknown terminal type} - you could try setting
|
|
this to something different, such as \c{vt220}.
|
|
|
|
If you're not sure whether a problem is due to the terminal type
|
|
setting or not, you probably need to consult the manual for your
|
|
application or your server.
|
|
|
|
\S{config-username} \q{Auto-login username}
|
|
|
|
\cfg{winhelp-topic}{connection.username}
|
|
|
|
All three of the SSH, Telnet and Rlogin protocols allow you to
|
|
specify what user name you want to log in as, without having to type
|
|
it explicitly every time. (Some Telnet servers don't support this.)
|
|
|
|
In this box you can type that user name.
|
|
|
|
\S{config-keepalive} Using keepalives to prevent disconnection
|
|
|
|
\cfg{winhelp-topic}{connection.keepalive}
|
|
|
|
If you find your sessions are closing unexpectedly (\q{Connection
|
|
reset by peer}) after they have been idle for a while, you might
|
|
want to try using this option.
|
|
|
|
Some network routers and firewalls need to keep track of all
|
|
connections through them. Usually, these firewalls will assume a
|
|
connection is dead if no data is transferred in either direction
|
|
after a certain time interval. This can cause PuTTY sessions to be
|
|
unexpectedly closed by the firewall if no traffic is seen in the
|
|
session for some time.
|
|
|
|
The keepalive option (\q{Seconds between keepalives}) allows you to
|
|
configure PuTTY to send data through the session at regular
|
|
intervals, in a way that does not disrupt the actual terminal
|
|
session. If you find your firewall is cutting idle connections off,
|
|
you can try entering a non-zero value in this field. The value is
|
|
measured in seconds; so, for example, if your firewall cuts
|
|
connections off after ten minutes then you might want to enter 300
|
|
seconds (5 minutes) in the box.
|
|
|
|
Note that keepalives are not always helpful. They help if you have a
|
|
firewall which drops your connection after an idle period; but if
|
|
the network between you and the server suffers from breaks in
|
|
connectivity then keepalives can actually make things worse. If a
|
|
session is idle, and connectivity is temporarily lost between the
|
|
endpoints, but the connectivity is restored before either side tries
|
|
to send anything, then there will be no problem - neither endpoint
|
|
will notice that anything was wrong. However, if one side does send
|
|
something during the break, it will repeatedly try to re-send, and
|
|
eventually give up and abandon the connection. Then when
|
|
connectivity is restored, the other side will find that the first
|
|
side doesn't believe there is an open connection any more.
|
|
Keepalives can make this sort of problem worse, because they
|
|
increase the probability that PuTTY will attempt to send data during
|
|
a break in connectivity. Therefore, you might find they help
|
|
connection loss, or you might find they make it worse, depending on
|
|
what \e{kind} of network problems you have between you and the
|
|
server.
|
|
|
|
Keepalives are only supported in Telnet and SSH; the Rlogin and Raw
|
|
protocols offer no way of implementing them.
|
|
|
|
Note that if you are using SSH1 and the server has a bug that makes
|
|
it unable to deal with SSH1 ignore messages (see
|
|
\k{config-ssh-bug-ignore1}), enabling keepalives will have no effect.
|
|
|
|
\S{config-nodelay} \q{Disable Nagle's algorithm}
|
|
|
|
\cfg{winhelp-topic}{connection.nodelay}
|
|
|
|
Nagle's algorithm is a detail of TCP/IP implementations that tries
|
|
to minimise the number of small data packets sent down a network
|
|
connection. With Nagle's algorithm enabled, PuTTY's bandwidth usage
|
|
will be slightly more efficient; with it disabled, you may find you
|
|
get a faster response to your keystrokes when connecting to some
|
|
types of server.
|
|
|
|
The Nagle algorithm is disabled by default.
|
|
|
|
\H{config-proxy} The Proxy panel
|
|
|
|
\cfg{winhelp-topic}{proxy.main}
|
|
|
|
The Proxy panel allows you to configure PuTTY to use various types
|
|
of proxy in order to make its network connections. The settings in
|
|
this panel affect the primary network connection forming your PuTTY
|
|
session, but also any extra connections made as a result of SSH port
|
|
forwarding (see \k{using-port-forwarding}).
|
|
|
|
\S{config-proxy-type} Setting the proxy type
|
|
|
|
\cfg{winhelp-topic}{proxy.type}
|
|
|
|
The \q{Proxy type} radio buttons allow you to configure what type of
|
|
proxy you want PuTTY to use for its network connections. The default
|
|
setting is \q{None}; in this mode no proxy is used for any
|
|
connection.
|
|
|
|
\b Selecting \q{HTTP} allows you to proxy your connections through a
|
|
web server supporting the HTTP \cw{CONNECT} command, as documented
|
|
in \W{http://www.ietf.org/rfc/rfc2817.txt}{RFC 2817}.
|
|
|
|
\b Selecting \q{SOCKS} allows you to proxy your connections through
|
|
a SOCKS server.
|
|
|
|
\b Many firewalls implement a less formal type of proxy in which a
|
|
user can make a Telnet connection directly to the firewall machine
|
|
and enter a command such as \c{connect myhost.com 22} to connect
|
|
through to an external host. Selecting \q{Telnet} allows you to tell
|
|
PuTTY to use this type of proxy.
|
|
|
|
\S{config-proxy-exclude} Excluding parts of the network from proxying
|
|
|
|
\cfg{winhelp-topic}{proxy.exclude}
|
|
|
|
Typically you will only need to use a proxy to connect to non-local
|
|
parts of your network; for example, your proxy might be required for
|
|
connections outside your company's internal network. In the
|
|
\q{Exclude Hosts/IPs} box you can enter ranges of IP addresses, or
|
|
ranges of DNS names, for which PuTTY will avoid using the proxy and
|
|
make a direct connection instead.
|
|
|
|
The \q{Exclude Hosts/IPs} box may contain more than one exclusion
|
|
range, separated by commas. Each range can be an IP address or a DNS
|
|
name, with a \c{*} character allowing wildcards. For example:
|
|
|
|
\c *.example.com
|
|
|
|
This excludes any host with a name ending in \c{.example.com} from
|
|
proxying.
|
|
|
|
\c 192.168.88.*
|
|
|
|
This excludes any host with an IP address starting with 192.168.88
|
|
from proxying.
|
|
|
|
\c 192.168.88.*,*.example.com
|
|
|
|
This excludes both of the above ranges at once.
|
|
|
|
\S{config-proxy-auth} Username and password
|
|
|
|
\cfg{winhelp-topic}{proxy.auth}
|
|
|
|
If your proxy requires authentication, you can enter a username and
|
|
a password in the \q{Username} and \q{Password} boxes.
|
|
|
|
Authentication is not supported for all forms of proxy:
|
|
|
|
\b Username and password authentication is supported for HTTP
|
|
proxies and SOCKS 5 proxies.
|
|
|
|
\b SOCKS 4 can use the \q{Username} field, but does not support
|
|
passwords.
|
|
|
|
\b You can specify a way to include a username and password in the
|
|
Telnet proxy command (see \k{config-proxy-command}).
|
|
|
|
\S{config-proxy-command} Specifying the Telnet proxy command
|
|
|
|
\cfg{winhelp-topic}{proxy.command}
|
|
|
|
If you are using the Telnet proxy type, the usual command required
|
|
by the firewall's Telnet server is \c{connect}, followed by a host
|
|
name and a port number. If your proxy needs a different command,
|
|
you can enter an alternative here.
|
|
|
|
In this string, you can use \c{\\n} to represent a new-line, \c{\\r}
|
|
to represent a carriage return, \c{\\t} to represent a tab
|
|
character, and \c{\\x} followed by two hex digits to represent any
|
|
other character. \c{\\\\} is used to encode the \c{\\} character
|
|
itself.
|
|
|
|
Also, the special strings \c{%host} and \c{%port} will be replaced
|
|
by the host name and port number you want to connect to. The strings
|
|
\c{%user} and \c{%pass} will be replaced by the proxy username and
|
|
password you specify. To get a literal \c{%} sign, enter \c{%%}.
|
|
|
|
If the Telnet proxy server prompts for a username and password
|
|
before commands can be sent, you can use a command such as:
|
|
|
|
\c %user\\n%pass\\nconnect %host %port\\n
|
|
|
|
This will send your username and password as the first two lines to
|
|
the proxy, followed by a command to connect to the desired host and
|
|
port. Note that if you do not include the \c{%user} or \c{%pass}
|
|
tokens in the Telnet command, then the \q{Username} and \q{Password}
|
|
configuration fields will be ignored.
|
|
|
|
\S{config-proxy-socksver} Selecting the version of the SOCKS protocol
|
|
|
|
\cfg{winhelp-topic}{proxy.socksver}
|
|
|
|
SOCKS servers exist in two versions: version 5
|
|
(\W{http://www.ietf.org/rfc/rfc1928.txt}{RFC 1928}) and the earlier
|
|
version 4. The \q{SOCKS Version} radio buttons allow you to select
|
|
which one to use, if you have selected the SOCKS proxy type.
|
|
|
|
\H{config-telnet} The Telnet panel
|
|
|
|
The Telnet panel allows you to configure options that only apply to
|
|
Telnet sessions.
|
|
|
|
\S{config-termspeed} \q{Terminal-speed string}
|
|
|
|
\cfg{winhelp-topic}{telnet.termspeed}
|
|
|
|
Telnet allows the client to send a text string that describes the
|
|
terminal speed. PuTTY lets you configure this, in case you find the
|
|
server is reacting badly to the default value. (I'm not aware of any
|
|
servers that do have a problem with it.)
|
|
|
|
\S{config-environ} Setting environment variables on the server
|
|
|
|
\cfg{winhelp-topic}{telnet.environ}
|
|
|
|
The Telnet protocol also provides a means for the client to pass
|
|
environment variables to the server. Many Telnet servers have
|
|
stopped supporting this feature due to security flaws, but PuTTY
|
|
still supports it for the benefit of any servers which have found
|
|
other ways around the security problems than just disabling the
|
|
whole mechanism.
|
|
|
|
To add an environment variable to the list transmitted down the
|
|
connection, you enter the variable name in the \q{Variable} box,
|
|
enter its value in the \q{Value} box, and press the \q{Add} button.
|
|
To remove one from the list, select it in the list box and press
|
|
\q{Remove}.
|
|
|
|
\S{config-oldenviron} \q{Handling of OLD_ENVIRON ambiguity}
|
|
|
|
\cfg{winhelp-topic}{telnet.oldenviron}
|
|
|
|
The original Telnet mechanism for passing environment variables was
|
|
badly specified. At the time the standard (RFC 1408) was written,
|
|
BSD telnet implementations were already supporting the feature, and
|
|
the intention of the standard was to describe the behaviour the BSD
|
|
implementations were already using.
|
|
|
|
Sadly there was a typing error in the standard when it was issued,
|
|
and two vital function codes were specified the wrong way round. BSD
|
|
implementations did not change, and the standard was not corrected.
|
|
Therefore, it's possible you might find either BSD or RFC-compliant
|
|
implementations out there. This switch allows you to choose which
|
|
one PuTTY claims to be.
|
|
|
|
The problem was solved by issuing a second standard, defining a new
|
|
Telnet mechanism called \cw{NEW_ENVIRON}, which behaved exactly like
|
|
the original \cw{OLD_ENVIRON} but was not encumbered by existing
|
|
implementations. Most Telnet servers now support this, and it's
|
|
unambiguous. This feature should only be needed if you have trouble
|
|
passing environment variables to quite an old server.
|
|
|
|
\S{config-ptelnet} Passive and active Telnet negotiation modes
|
|
|
|
\cfg{winhelp-topic}{telnet.passive}
|
|
|
|
In a Telnet connection, there are two types of data passed between
|
|
the client and the server: actual text, and \e{negotiations} about
|
|
which Telnet extra features to use.
|
|
|
|
PuTTY can use two different strategies for negotiation:
|
|
|
|
\b In \e{active} mode, PuTTY starts to send negotiations as soon as
|
|
the connection is opened.
|
|
|
|
\b In \e{passive} mode, PuTTY will wait to negotiate until it sees a
|
|
negotiation from the server.
|
|
|
|
The obvious disadvantage of passive mode is that if the server is
|
|
also operating in a passive mode, then negotiation will never begin
|
|
at all. For this reason PuTTY defaults to active mode.
|
|
|
|
However, sometimes passive mode is required in order to successfully
|
|
get through certain types of firewall and Telnet proxy server. If
|
|
you have confusing trouble with a firewall, you could try enabling
|
|
passive mode to see if it helps.
|
|
|
|
\S{config-telnetkey} \q{Keyboard sends telnet Backspace and Interrupt}
|
|
|
|
\cfg{winhelp-topic}{telnet.specialkeys}
|
|
|
|
If this box is checked, the Backspace key on the keyboard will send
|
|
the Telnet special backspace code, and Control-C will send the
|
|
Telnet special interrupt code. You probably shouldn't enable this
|
|
unless you know what you're doing.
|
|
|
|
\S{config-telnetnl} \q{Return key sends telnet New Line instead of ^M}
|
|
|
|
\cfg{winhelp-topic}{telnet.newline}
|
|
|
|
Unlike most other remote login protocols, the Telnet protocol has a
|
|
special \q{new line} code that is not the same as the usual line
|
|
endings of Control-M or Control-J. By default, PuTTY sends the
|
|
Telnet New Line code when you press Return, instead of sending
|
|
Control-M as it does in most other protocols.
|
|
|
|
Most Unix-style Telnet servers don't mind whether they receive
|
|
Telnet New Line or Control-M; some servers do expect New Line, and
|
|
some servers prefer to see ^M. If you are seeing surprising
|
|
behaviour when you press Return in a Telnet session, you might try
|
|
turning this option off to see if it helps.
|
|
|
|
\H{config-rlogin} The Rlogin panel
|
|
|
|
The Rlogin panel allows you to configure options that only apply to
|
|
Rlogin sessions.
|
|
|
|
\S{config-rlogin-termspeed} \q{Terminal-speed string}
|
|
|
|
\cfg{winhelp-topic}{rlogin.termspeed}
|
|
|
|
Like Telnet, Rlogin allows the client to send a text string that
|
|
describes the terminal speed. PuTTY lets you configure this, in case
|
|
you find the server is reacting badly to the default value. (I'm not
|
|
aware of any servers that do have a problem with it.)
|
|
|
|
\S{config-rlogin-localuser} \q{Local username}
|
|
|
|
\cfg{winhelp-topic}{rlogin.localuser}
|
|
|
|
Rlogin allows an automated (password-free) form of login by means of
|
|
a file called \c{.rhosts} on the server. You put a line in your
|
|
\c{.rhosts} file saying something like \c{jbloggs@pc1.example.com},
|
|
and then when you make an Rlogin connection the client transmits the
|
|
username of the user running the Rlogin client. The server checks
|
|
the username and hostname against \c{.rhosts}, and if they match it
|
|
does not ask for a password.
|
|
|
|
This only works because Unix systems contain a safeguard to stop a
|
|
user from pretending to be another user in an Rlogin connection.
|
|
Rlogin connections have to come from port numbers below 1024, and
|
|
Unix systems prohibit this to unprivileged processes; so when the
|
|
server sees a connection from a low-numbered port, it assumes the
|
|
client end of the connection is held by a privileged (and therefore
|
|
trusted) process, so it believes the claim of who the user is.
|
|
|
|
Windows does not have this restriction: \e{any} user can initiate an
|
|
outgoing connection from a low-numbered port. Hence, the Rlogin
|
|
\c{.rhosts} mechanism is completely useless for securely
|
|
distinguishing several different users on a Windows machine. If you
|
|
have a \c{.rhosts} entry pointing at a Windows PC, you should assume
|
|
that \e{anyone} using that PC can spoof your username in an Rlogin
|
|
connection and access your account on the server.
|
|
|
|
The \q{Local username} control allows you to specify what user name
|
|
PuTTY should claim you have, in case it doesn't match your Windows
|
|
user name (or in case you didn't bother to set up a Windows user
|
|
name).
|
|
|
|
\H{config-ssh} The SSH panel
|
|
|
|
The SSH panel allows you to configure options that only apply to
|
|
SSH sessions.
|
|
|
|
\S{config-command} Executing a specific command on the server
|
|
|
|
\cfg{winhelp-topic}{ssh.command}
|
|
|
|
In SSH, you don't have to run a general shell session on the server.
|
|
Instead, you can choose to run a single specific command (such as a
|
|
mail user agent, for example). If you want to do this, enter the
|
|
command in the \q{Remote command} box.
|
|
|
|
\S{config-ssh-pty} \q{Don't allocate a pseudo-terminal}
|
|
|
|
\cfg{winhelp-topic}{ssh.nopty}
|
|
|
|
When connecting to a Unix system, most interactive shell sessions
|
|
are run in a \e{pseudo-terminal}, which allows the Unix system to
|
|
pretend it's talking to a real physical terminal device but allows
|
|
the SSH server to catch all the data coming from that fake device
|
|
and send it back to the client.
|
|
|
|
Occasionally you might find you have a need to run a session \e{not}
|
|
in a pseudo-terminal. In PuTTY, this is generally only useful for
|
|
very specialist purposes; although in Plink (see \k{plink}) it is
|
|
the usual way of working.
|
|
|
|
\S{config-ssh-comp} \q{Enable compression}
|
|
|
|
\cfg{winhelp-topic}{ssh.compress}
|
|
|
|
This enables data compression in the SSH connection: data sent by
|
|
the server is compressed before sending, and decompressed at the
|
|
client end. Likewise, data sent by PuTTY to the server is compressed
|
|
first and the server decompresses it at the other end. This can help
|
|
make the most of a low-bandwidth connection.
|
|
|
|
\S{config-ssh-prot} \q{Preferred SSH protocol version}
|
|
|
|
\cfg{winhelp-topic}{ssh.protocol}
|
|
|
|
This allows you to select whether you would like to use SSH protocol
|
|
version 1 or version 2. \#{FIXME: say something about this elsewhere?}
|
|
|
|
PuTTY will attempt to use protocol 1 if the server you connect to
|
|
does not offer protocol 2, and vice versa.
|
|
|
|
If you select \q{1 only} or \q{2 only} here, PuTTY will only connect
|
|
if the server you connect to offers the SSH protocol version you
|
|
have specified.
|
|
|
|
\S{config-ssh-encryption} Encryption algorithm selection
|
|
|
|
\cfg{winhelp-topic}{ssh.ciphers}
|
|
|
|
PuTTY supports a variety of different encryption algorithms, and
|
|
allows you to choose which one you prefer to use. You can do this by
|
|
dragging the algorithms up and down in the list box (or moving them
|
|
using the Up and Down buttons) to specify a preference order. When
|
|
you make an SSH connection, PuTTY will search down the list from the
|
|
top until it finds an algorithm supported by the server, and then
|
|
use that.
|
|
|
|
If the algorithm PuTTY finds is below the \q{warn below here} line,
|
|
you will see a warning box when you make the connection:
|
|
|
|
\c The first cipher supported by the server
|
|
\c is single-DES, which is below the configured
|
|
\c warning threshold.
|
|
\c Do you want to continue with this connection?
|
|
|
|
This warns you that the first available encryption is not a very
|
|
secure one. Typically you would put the \q{warn below here} line
|
|
between the encryptions you consider secure and the ones you
|
|
consider substandard. By default, PuTTY supplies a preference order
|
|
intended to reflect a reasonable preference in terms of security and
|
|
speed.
|
|
|
|
In SSH-2, the encryption algorithm is negotiated independently for
|
|
each direction of the connection, although PuTTY does not support
|
|
separate configuration of the preference orders. As a result you may
|
|
get two warnings similar to the one above, possibly with different
|
|
encryptions.
|
|
|
|
Single-DES is not supported natively in the SSH 2 draft protocol
|
|
standards. One or two server implementations do support it, by a
|
|
non-standard name. PuTTY can use single-DES to interoperate with
|
|
these servers if you enable the \q{Enable non-standard single-DES in
|
|
SSH 2} option; by default this is disabled and PuTTY will stick to
|
|
the standard.
|
|
|
|
\H{config-ssh-auth} The Auth panel
|
|
|
|
The Auth panel allows you to configure authentication options for
|
|
SSH sessions.
|
|
|
|
\S{config-ssh-tis} \q{Attempt TIS or CryptoCard authentication}
|
|
|
|
\cfg{winhelp-topic}{ssh.auth.tis}
|
|
|
|
TIS and CryptoCard authentication are simple challenge/response
|
|
forms of authentication available in SSH protocol version 1 only.
|
|
You might use them if you were using S/Key one-time passwords, for
|
|
example, or if you had a physical security token that generated
|
|
responses to authentication challenges.
|
|
|
|
With this switch enabled, PuTTY will attempt these forms of
|
|
authentication if the server is willing to try them. You will be
|
|
presented with a challenge string (which will be different every
|
|
time) and must supply the correct response in order to log in. If
|
|
your server supports this, you should talk to your system
|
|
administrator about precisely what form these challenges and
|
|
responses take.
|
|
|
|
\S{config-ssh-ki} \q{Attempt keyboard-interactive authentication}
|
|
|
|
\cfg{winhelp-topic}{ssh.auth.ki}
|
|
|
|
The SSH 2 equivalent of TIS authentication is called
|
|
\q{keyboard-interactive}. It is a flexible authentication method
|
|
using an arbitrary sequence of requests and responses; so it is not
|
|
only useful for challenge/response mechanisms such as S/Key, but it
|
|
can also be used for (for example) asking the user for a new
|
|
password when the old one has expired.
|
|
|
|
PuTTY leaves this option enabled by default, but supplies a switch
|
|
to turn it off in case you should have trouble with it.
|
|
|
|
\S{config-ssh-agentfwd} \q{Allow agent forwarding}
|
|
|
|
\cfg{winhelp-topic}{ssh.auth.agentfwd}
|
|
|
|
This option allows the SSH server to open forwarded connections back
|
|
to your local copy of Pageant. If you are not running Pageant, this
|
|
option will do nothing.
|
|
|
|
See \k{pageant} for general information on Pageant, and
|
|
\k{pageant-forward} for information on agent forwarding. Note that
|
|
there is a security risk involved with enabling this option; see
|
|
\k{pageant-security} for details.
|
|
|
|
\S{config-ssh-changeuser} \q{Allow attempted changes of username in SSH2}
|
|
|
|
\cfg{winhelp-topic}{ssh.auth.changeuser}
|
|
|
|
In the SSH 1 protocol, it is impossible to change username after
|
|
failing to authenticate. So if you mis-type your username at the
|
|
PuTTY \q{login as:} prompt, you will not be able to change it except
|
|
by restarting PuTTY.
|
|
|
|
The SSH 2 protocol \e{does} allow changes of username, in principle,
|
|
but does not make it mandatory for SSH 2 servers to accept them. In
|
|
particular, OpenSSH does not accept a change of username; once you
|
|
have sent one username, it will reject attempts to try to
|
|
authenticate as another user. (Depending on the version of OpenSSH,
|
|
it may quietly return failure for all login attempts, or it may send
|
|
an error message.)
|
|
|
|
For this reason, PuTTY will by default not prompt you for your
|
|
username more than once, in case the server complains. If you know
|
|
your server can cope with it, you can enable the \q{Allow attempted
|
|
changes of username} option to modify PuTTY's behaviour.
|
|
|
|
\S{config-ssh-privkey} \q{Private key file for authentication}
|
|
|
|
\cfg{winhelp-topic}{ssh.auth.privkey}
|
|
|
|
This box is where you enter the name of your private key file if you
|
|
are using public key authentication. See \k{pubkey} for information
|
|
about public key authentication in SSH.
|
|
|
|
\H{config-ssh-tunnels} The Tunnels panel
|
|
|
|
The Tunnels panel allows you to configure tunnelling of other
|
|
connection types through an SSH connection.
|
|
|
|
\S{config-ssh-x11} X11 forwarding
|
|
|
|
\cfg{winhelp-topic}{ssh.tunnels.x11}
|
|
|
|
If your server lets you run X Window System applications, X11
|
|
forwarding allows you to securely give those applications access to
|
|
a local X display on your PC.
|
|
|
|
To enable X11 forwarding, check the \q{Enable X11 forwarding} box.
|
|
If your X display is not the primary display on your local machine
|
|
(which it almost certainly will be unless you have deliberately
|
|
arranged otherwise), you need to enter its location in the \q{X
|
|
display location} box.
|
|
|
|
See \k{using-x-forwarding} for more information about X11
|
|
forwarding.
|
|
|
|
\S{config-ssh-portfwd} Port forwarding
|
|
|
|
\cfg{winhelp-topic}{ssh.tunnels.portfwd}
|
|
|
|
Port forwarding allows you to tunnel other types of network
|
|
connection down an SSH session. See \k{using-port-forwarding} for a
|
|
general discussion of port forwarding and how it works.
|
|
|
|
The port forwarding section in the Tunnels panel shows a list of all
|
|
the port forwardings that PuTTY will try to set up when it connects
|
|
to the server. By default no port forwardings are set up, so this
|
|
list is empty.
|
|
|
|
To add a port forwarding:
|
|
|
|
\b Set one of the \q{Local} or \q{Remote} radio buttons, depending
|
|
on whether you want to forward a local port to a remote destination
|
|
(\q{Local}) or forward a remote port to a local destination
|
|
(\q{Remote}).
|
|
|
|
\b Enter a source port number into the \q{Source port} box. For
|
|
local forwardings, PuTTY will listen on this port of your PC. For
|
|
remote forwardings, your SSH server will listen on this port of the
|
|
remote machine. Note that most servers will not allow you to listen
|
|
on port numbers less than 1024.
|
|
|
|
\b Enter a hostname and port number separated by a colon, in the
|
|
\q{Destination} box. Connections received on the source port will be
|
|
directed to this destination. For example, to connect to a POP-3
|
|
server, you might enter \c{popserver.example.com:110}.
|
|
|
|
\b Click the \q{Add} button. Your forwarding details should appear
|
|
in the list box.
|
|
|
|
To remove a port forwarding, simply select its details in the list
|
|
box, and click the \q{Remove} button.
|
|
|
|
\S{config-ssh-portfwd-localhost} Controlling the visibility of
|
|
forwarded ports
|
|
|
|
\cfg{winhelp-topic}{ssh.tunnels.portfwd.localhost}
|
|
|
|
The source port for a forwarded connection usually does not accept
|
|
connections from any machine except the SSH client or server machine
|
|
itself (for local and remote forwardings respectively). There are
|
|
controls in the Tunnels panel to change this:
|
|
|
|
\b The \q{Local ports accept connections from other hosts} option
|
|
allows you to set up local-to-remote port forwardings in such a way
|
|
that machines other than your client PC can connect to the forwarded
|
|
port.
|
|
|
|
\b The \q{Remote ports do the same} option does the same thing for
|
|
remote-to-local port forwardings (so that machines other than the
|
|
SSH server machine can connect to the forwarded port.) Note that
|
|
this feature is only available in the SSH 2 protocol, and not all
|
|
SSH 2 servers support it (OpenSSH 3.0 does not, for example).
|
|
|
|
\H{config-ssh-bugs} The Bugs panel
|
|
|
|
Not all SSH servers work properly. Various existing servers have
|
|
bugs in them, which can make it impossible for a client to talk to
|
|
them unless it knows about the bug and works around it.
|
|
|
|
Since most servers announce their software version number at the
|
|
beginning of the SSH connection, PuTTY will attempt to detect which
|
|
bugs it can expect to see in the server and automatically enable
|
|
workarounds. However, sometimes it will make mistakes; if the server
|
|
has been deliberately configured to conceal its version number, or
|
|
if the server is a version which PuTTY's bug database does not know
|
|
about, then PuTTY will not know what bugs to expect.
|
|
|
|
The Bugs panel allows you to manually configure the bugs PuTTY
|
|
expects to see in the server. Each bug can be configured in three
|
|
states:
|
|
|
|
\b \q{Off}: PuTTY will assume the server does not have the bug.
|
|
|
|
\b \q{On}: PuTTY will assume the server \e{does} have the bug.
|
|
|
|
\b \q{Auto}: PuTTY will use the server's version number announcement
|
|
to try to guess whether or not the server has the bug.
|
|
|
|
\S{config-ssh-bug-ignore1} \q{Chokes on SSH1 ignore messages}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.ignore1}
|
|
|
|
An ignore message (SSH_MSG_IGNORE) is a message in the SSH protocol
|
|
which can be sent from the client to the server, or from the server
|
|
to the client, at any time. Either side is required to ignore the
|
|
message whenever it receives it. PuTTY uses ignore messages to hide
|
|
the password packet in SSH1, so that a listener cannot tell the
|
|
length of the user's password; it also uses ignore messages for
|
|
connection keepalives (see \k{config-keepalive}).
|
|
|
|
If this bug is detected, PuTTY will stop using ignore messages. This
|
|
means that keepalives will stop working, and PuTTY will have to fall
|
|
back to a secondary defence against SSH1 password-length
|
|
eavesdropping. See \k{config-ssh-bug-plainpw1}. If this bug is
|
|
enabled when talking to a correct server, the session will succeed,
|
|
but keepalives will not work and the session might be more
|
|
vulnerable to eavesdroppers than it could be.
|
|
|
|
This is an SSH1-specific bug. No known SSH2 server fails to deal
|
|
with SSH2 ignore messages.
|
|
|
|
\S{config-ssh-bug-plainpw1} \q{Refuses all SSH1 password camouflage}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.plainpw1}
|
|
|
|
When talking to an SSH1 server which cannot deal with ignore
|
|
messages (see \k{config-ssh-bug-ignore1}), PuTTY will attempt to
|
|
disguise the length of the user's password by sending additional
|
|
padding \e{within} the password packet. This is technically a
|
|
violation of the SSH1 specification, and so PuTTY will only do it
|
|
when it cannot use standards-compliant ignore messages as
|
|
camouflage. In this sense, for a server to refuse to accept a padded
|
|
password packet is not really a bug, but it does make life
|
|
inconvenient if the server can also not handle ignore messages.
|
|
|
|
If this \q{bug} is detected, PuTTY will have no choice but to send
|
|
the user's password with no form of camouflage, so that an
|
|
eavesdropping user will be easily able to find out the exact length
|
|
of the password. If this bug is enabled when talking to a correct
|
|
server, the session will succeed, but will be more vulnerable to
|
|
eavesdroppers than it could be.
|
|
|
|
This is an SSH1-specific bug. SSH2 is secure against this type of
|
|
attack.
|
|
|
|
\S{config-ssh-bug-rsa1} \q{Chokes on SSH1 RSA authentication}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.rsa1}
|
|
|
|
Some SSH1 servers cannot deal with RSA authentication messages at
|
|
all. If Pageant is running and contains any SSH1 keys, PuTTY will
|
|
normally automatically try RSA authentication before falling back to
|
|
passwords, so these servers will crash when they see the RSA attempt.
|
|
|
|
If this bug is detected, PuTTY will go straight to password
|
|
authentication. If this bug is enabled when talking to a correct
|
|
server, the session will succeed, but of course RSA authentication
|
|
will be impossible.
|
|
|
|
This is an SSH1-specific bug.
|
|
|
|
\S{config-ssh-bug-hmac2} \q{Miscomputes SSH2 HMAC keys}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.hmac2}
|
|
|
|
Versions 2.3.0 and below of the SSH server software from
|
|
\cw{ssh.com} compute the keys for their HMAC message authentication
|
|
codes incorrectly. A typical symptom of this problem is that PuTTY
|
|
dies unexpectedly at the beginning of the session, saying
|
|
\q{Incorrect MAC received on packet}.
|
|
|
|
If this bug is detected, PuTTY will compute its HMAC keys in the
|
|
same way as the buggy server, so that communication will still be
|
|
possible. If this bug is enabled when talking to a correct server,
|
|
communication will fail.
|
|
|
|
This is an SSH2-specific bug.
|
|
|
|
\S{config-ssh-bug-derivekey2} \q{Miscomputes SSH2 encryption keys}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.derivekey2}
|
|
|
|
Versions below 2.1.0 of the SSH server software from \cw{ssh.com}
|
|
compute the keys for the session encryption incorrectly. This
|
|
problem can cause various error messages, such as \q{Incoming packet
|
|
was garbled on decryption}, or possibly even \q{Out of memory}.
|
|
|
|
If this bug is detected, PuTTY will compute its encryption keys in
|
|
the same way as the buggy server, so that communication will still
|
|
be possible. If this bug is enabled when talking to a correct
|
|
server, communication will fail.
|
|
|
|
This is an SSH2-specific bug.
|
|
|
|
\S{config-ssh-bug-sig} \q{Requires padding on SSH2 RSA signatures}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.rsapad2}
|
|
|
|
Versions below 3.3 of OpenSSH require SSH2 RSA signatures to be
|
|
padded with zero bytes to the same length as the RSA key modulus.
|
|
The SSH2 draft specification says that an unpadded signature MUST be
|
|
accepted, so this is a bug. A typical symptom of this problem is
|
|
that PuTTY mysteriously fails RSA authentication once in every few
|
|
hundred attempts, and falls back to passwords.
|
|
|
|
If this bug is detected, PuTTY will pad its signatures in the way
|
|
OpenSSH expects. If this bug is enabled when talking to a correct
|
|
server, it is likely that no damage will be done, since correct
|
|
servers usually still accept padded signatures because they're used
|
|
to talking to OpenSSH.
|
|
|
|
This is an SSH2-specific bug.
|
|
|
|
\S{config-ssh-bug-dhgex} \q{Chokes on Diffie-Hellman group exchange}
|
|
|
|
\cfg{winhelp-topic}{ssh.bugs.dhgex2}
|
|
|
|
We have anecdotal evidence that some SSH servers claim to be able to
|
|
perform Diffie-Hellman group exchange, but fail to actually do so
|
|
when PuTTY tries to. If your SSH2 sessions spontaneously close
|
|
immediately after opening the PuTTY window, it might be worth
|
|
enabling the workaround for this bug to see if it helps.
|
|
|
|
We have no hard evidence that any specific version of specific
|
|
server software reliably demonstrates this bug. Therefore, PuTTY
|
|
will never \e{assume} a server has this bug; if you want the
|
|
workaround, you need to enable it manually.
|
|
|
|
This is an SSH2-specific bug.
|
|
|
|
\H{config-file} Storing configuration in a file
|
|
|
|
PuTTY does not currently support storing its configuration in a file
|
|
instead of the Registry. However, you can work around this with a
|
|
couple of batch files.
|
|
|
|
You will need a file called (say) \c{PUTTY.BAT} which imports the
|
|
contents of a file into the Registry, then runs PuTTY, exports the
|
|
contents of the Registry back into the file, and deletes the
|
|
Registry entries. This can all be done using the Regedit command
|
|
line options, so it's all automatic. Here is what you need in
|
|
\c{PUTTY.BAT}:
|
|
|
|
\c @ECHO OFF
|
|
\c regedit /s putty.reg
|
|
\c regedit /s puttyrnd.reg
|
|
\c start /w putty.exe
|
|
\c regedit /e puttynew.reg HKEY_CURRENT_USER\Software\SimonTatham\PuTTY
|
|
\c copy puttynew.reg putty.reg
|
|
\c del puttynew.reg
|
|
\c regedit /s puttydel.reg
|
|
|
|
This batch file needs two auxiliary files: \c{PUTTYRND.REG} which
|
|
sets up an initial safe location for the \c{PUTTY.RND} random seed
|
|
file, and \c{PUTTYDEL.REG} which destroys everything in the Registry
|
|
once it's been successfully saved back to the file.
|
|
|
|
Here is \c{PUTTYDEL.REG}:
|
|
|
|
\c REGEDIT4
|
|
\c
|
|
\c [-HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
|
|
|
|
Here is an example \c{PUTTYRND.REG} file:
|
|
|
|
\c REGEDIT4
|
|
\c
|
|
\c [HKEY_CURRENT_USER\Software\SimonTatham\PuTTY]
|
|
\c "RandSeedFile"="a:\putty.rnd"
|
|
|
|
You should replace \c{a:\\putty.rnd} with the location where you
|
|
want to store your random number data. If the aim is to carry around
|
|
PuTTY and its settings on one floppy, you probably want to store it
|
|
on the floppy.
|