Table of contents
- PuTTY User Manual
- Introduction to PuTTY
- Getting started with PuTTY
-
Using PuTTY
- During your session
- Creating a log file of your session
- Altering your character set configuration
- Using X11 forwarding in SSH
- Using port forwarding in SSH
- Making raw TCP connections
- Connecting to a local serial line
-
The PuTTY command line
- Starting a session from the command line
- -cleanup
-
Standard command-line options
- -load: load a saved session
- Selecting a protocol: -ssh, -telnet, -rlogin, -raw -serial
- -v: increase verbosity
- -l: specify a login name
- -L, -R and -D: set up port forwardings
- -m: read a remote command or script from a file
- -P: specify a port number
- -pw: specify a password
- -agent and -noagent: control use of Pageant for authentication
- -A and -a: control agent forwarding
- -X and -x: control X11 forwarding
- -t and -T: control pseudo-terminal allocation
- -N: suppress starting a shell or command
- -nc: make a remote network connection in place of a remote shell or command
- -C: enable compression
- -1 and -2: specify an SSH protocol version
- -4 and -6: specify an Internet protocol version
- -i: specify an SSH private key
- -loghost: specify a logical host name
- -hostkey: manually specify an expected host key
- -pgpfp: display PGP key fingerprints
- -sercfg: specify serial port configuration
- -sessionlog, -sshlog, -sshrawlog: specify session logging
- -proxycmd: specify a local proxy command
- -restrict-acl: restrict the Windows process ACL
-
Configuring PuTTY
- The Session panel
- The Logging panel
- The Terminal panel
-
The Keyboard panel
- Changing the action of the Backspace key
- Changing the action of the Home and End keys
- Changing the action of the function keys and keypad
- Controlling Application Cursor Keys mode
- Controlling Application Keypad mode
- Using NetHack keypad mode
- Enabling a DEC-like Compose key
- Control-Alt is different from AltGr
- The Bell panel
-
The Features panel
- Disabling application keypad and cursor keys
- Disabling xterm-style mouse reporting
- Disabling remote terminal resizing
- Disabling switching to the alternate screen
- Disabling remote window title changing
- Response to remote window title querying
- Disabling remote scrollback clearing
- Disabling destructive backspace
- Disabling remote character set configuration
- Disabling Arabic text shaping
- Disabling bidirectional text display
- The Window panel
- The Appearance panel
- The Behaviour panel
- The Translation panel
- The Selection panel
- The Colours panel
- The Connection panel
- The Data panel
- The Proxy panel
- The Telnet panel
- The Rlogin panel
- The SSH panel
- The Kex panel
- The Host Keys panel
- The Cipher panel
-
The Auth panel
- Display pre-authentication banner
- Bypass authentication entirely
- Attempt authentication using Pageant
- Attempt TIS or CryptoCard authentication
- Attempt keyboard-interactive authentication
- Allow agent forwarding
- Allow attempted changes of username in SSH-2
- Private key file for authentication
- The GSSAPI panel
- The TTY panel
- The X11 panel
- The Tunnels panel
-
The Bugs and More Bugs panels
- Chokes on SSH-1 ignore messages
- Refuses all SSH-1 password camouflage
- Chokes on SSH-1 RSA authentication
- Chokes on SSH-2 ignore messages
- Chokes on PuTTY's SSH-2 winadj requests
- Miscomputes SSH-2 HMAC keys
- Miscomputes SSH-2 encryption keys
- Requires padding on SSH-2 RSA signatures
- Misuses the session ID in SSH-2 PK auth
- Handles SSH-2 key re-exchange badly
- Ignores SSH-2 maximum packet size
- Replies to requests on closed channels
- Only supports pre-RFC4419 SSH-2 DH GEX
- The Serial panel
- Storing configuration in a file
- Using PSCP to transfer files securely
-
Using PSFTP to transfer files securely
- Starting PSFTP
-
Running PSFTP
- General quoting rules for PSFTP commands
- Wildcards in PSFTP
- The open command: start a session
- The quit command: end your session
- The close command: close your connection
- The help command: get quick online help
- The cd and pwd commands: changing the remote working directory
- The lcd and lpwd commands: changing the local working directory
- The get command: fetch a file from the server
- The put command: send a file to the server
- The mget and mput commands: fetch or send multiple files
- The reget and reput commands: resuming file transfers
- The dir command: list remote files
- The chmod command: change permissions on remote files
- The del command: delete remote files
- The mkdir command: create remote directories
- The rmdir command: remove remote directories
- The mv command: move and rename remote files
- The ! command: run a local Windows command
- Using public key authentication with PSFTP
- Using the command-line connection tool Plink
-
Using public keys for SSH authentication
- Public key authentication - an introduction
-
Using PuTTYgen, the PuTTY key generator
- Generating a new key
- Selecting the type of key
- Selecting the size (strength) of the key
- The Generate button
- The Key fingerprint box
- Setting a comment for your key
- Setting a passphrase for your key
- Saving your private key to a disk file
- Saving your public key to a disk file
- Public key for pasting into authorized_keys file
- Reloading a private key
- Dealing with private keys in other formats
- Getting ready for public key authentication
- Using Pageant for authentication
-
Common error messages
- The server's host key is not cached in the registry
- WARNING - POTENTIAL SECURITY BREACH!
- SSH protocol version 2 required by our configuration but server only provides (old, insecure) SSH-1
- The first cipher supported by the server is ... below the configured warning threshold
- Server sent disconnect message type 2 (protocol error): "Too many authentication failures for root"
- Out of memory
- Internal error, Internal fault, Assertion failed
- Unable to use this private key file, Couldn't load private key, Key is of wrong type
- Server refused our public key or Key refused
- Access denied, Authentication refused
- No supported authentication methods available
- Incorrect CRC received on packet or Incorrect MAC received on packet
- Incoming packet was garbled on decryption
- PuTTY X11 proxy: various errors
- Network error: Software caused connection abort
- Network error: Connection reset by peer
- Network error: Connection refused
- Network error: Connection timed out
- Network error: Cannot assign requested address
-
PuTTY FAQ
- Introduction
-
Features supported in PuTTY
- Does PuTTY support SSH-2?
- Does PuTTY support reading OpenSSH or ssh.com SSH-2 private key files?
- Does PuTTY support SSH-1?
- Does PuTTY support local echo?
- Does PuTTY support storing settings, so I don't have to change them every time?
- Does PuTTY support storing its settings in a disk file?
- Does PuTTY support full-screen mode, like a DOS box?
- Does PuTTY have the ability to remember my password so I don't have to type it every time?
- Is there an option to turn off the annoying host key prompts?
- Will you write an SSH server for the PuTTY suite, to go with the client?
- Can PSCP or PSFTP transfer files in ASCII mode?
- Ports to other operating systems
- Embedding PuTTY in other programs
- Details of PuTTY's operation
-
HOWTO questions
- What login name / password should I use?
- What commands can I type into my PuTTY terminal window?
- How can I make PuTTY start up maximised?
- How can I create a Windows shortcut to start a particular saved session directly?
- How can I start an SSH session straight from the command line?
- How do I copy and paste between PuTTY and other Windows applications?
- How do I use all PuTTY's features (public keys, proxying, cipher selection, etc.) in PSCP, PSFTP and Plink?
- How do I use PSCP.EXE? When I double-click it gives me a command prompt window which then closes instantly.
- How do I use PSCP to copy a file whose name has spaces in?
- Should I run the 32-bit or the 64-bit version?
-
Troubleshooting
- Why do I see Fatal: Protocol error: Expected control record in PSCP?
- I clicked on a colour in the Colours panel, and the colour didn't change in my terminal.
- After trying to establish an SSH-2 connection, PuTTY says Out of memory and dies.
- When attempting a file transfer, either PSCP or PSFTP says Out of memory and dies.
- PSFTP transfers files much slower than PSCP.
- When I run full-colour applications, I see areas of black space where colour ought to be, or vice versa.
- When I change some terminal settings, nothing happens.
- My PuTTY sessions unexpectedly close after they are idle for a while.
- PuTTY's network connections time out too quickly when network connectivity is temporarily lost.
- When I cat a binary file, I get PuTTYPuTTYPuTTY on my command line.
- When I cat a binary file, my window title changes to a nonsense string.
- My keyboard stops working once PuTTY displays the password prompt.
- One or more function keys don't do what I expected in a server-side application.
- Why do I see Couldn't load private key from ...? Why can PuTTYgen load my key but not PuTTY?
- When I'm connected to a Red Hat Linux 8.0 system, some characters don't display properly.
- Since I upgraded to PuTTY 0.54, the scrollback has stopped working when I run screen.
- Since I upgraded Windows XP to Service Pack 2, I can't use addresses like 127.0.0.2.
- PSFTP commands seem to be missing a directory separator (slash).
- Do you want to hear about Software caused connection abort?
- My SSH-2 session locks up for a few seconds every so often.
- PuTTY fails to start up. Windows claims that the application configuration is incorrect.
- When I put 32-bit PuTTY in C:\WINDOWS\SYSTEM32 on my 64-bit Windows system, Duplicate Session doesn't work.
- Security questions
-
Administrative questions
- Would you like me to register you a nicer domain name?
- Would you like free web hosting for the PuTTY web site?
- Would you link to my web site from the PuTTY web site?
- Why don't you move PuTTY to SourceForge?
- Why can't I subscribe to the putty-bugs mailing list?
- If putty-bugs isn't a general-subscription mailing list, what is?
- How can I donate to PuTTY development?
- Can I have permission to put PuTTY on a cover disk / distribute it with other software / etc?
- Can you sign an agreement indemnifying us against security problems in PuTTY?
- Can you sign this form granting us permission to use/distribute PuTTY?
- Can you write us a formal notice of permission to use PuTTY?
- Can you sign anything for us?
- If you won't sign anything, can you give us some sort of assurance that you won't make PuTTY closed-source in future?
- Can you provide us with export control information / FIPS certification for PuTTY?
- As one of our existing software vendors, can you just fill in this questionnaire for us?
- The sha1sums / sha256sums / etc files on your download page don't match the binaries.
- Miscellaneous questions
- Feedback and bug reporting
- PuTTY Licence
-
PuTTY hacking guide
- Cross-OS portability
- Multiple backends treated equally
- Multiple sessions per process on some platforms
- C, not C++
- Security-conscious coding
- Independence of specific compiler
- Small code size
- Single-threaded code
- Keystrokes sent to the server wherever possible
- 640×480 friendliness in configuration panels
- Automatically generated Makefiles
- Coroutines in ssh.c
- Single compilation of each source file
- Do as we say, not as we do
- PuTTY download keys and signatures
- SSH-2 names specified for PuTTY