HOWTO zur Einrichtung des SSH-Clients PuTTY unter Windows
=========================================================

(C) 2014-2019 T.Birnthaler/H.Gottschalk <howtos(at)ostc.de>
              OSTC Open Source Training and Consulting GmbH
              www.ostc.de

$Id: putty-konfiguration-HOWTO.txt,v 1.26 2019/11/26 19:37:07 tsbirn Exp $

Dieses Dokument beschreibt die wichtigsten Konfigurations-Einstellungen
des SSH-Clients PuTTY unter Windows.

Inhaltsverzeichnis

0) PuTTY Programme
1) PuTTY-Sitzung erstellen/starten/ändern
2) Sinnvolle Einstellungen
2.1) Anmeldung
2.2) Tastatur- und Mausbelegung
2.3) Aussehen
2.4) Tunneling
3) Links

0) PuTTY Programme   (Toc)

Das PuTTY-Paket umfasst folgende Programme. Zur Anmeldung per SSH-Protokoll
an einem fremden Rechner ist nur das Programm "putty.exe" notwendig. Dazu muss
es nicht installiert werden, sondern die EXE-Datei kann direkt gestartet werden.

  +----------+--------------+----------------------------------------+
  | Name     | Programm     | Beschreibung                           |
  +----------+--------------+----------------------------------------+
  | PuTTY    | putty.exe    | SSH- und Telnet/Rlogin-Client          |
  | PuTTYtel | puttytel.exe | Reiner Telnet/Rlogin-Client            |
  | PuTTYgen | puttygen.exe | RSA und DSA Key Generator              |
  | PSCP     | pscp.exe     | SCP Client (PuTTY Secure Copy)         |
  | PSFTP    | psftp.exe    | SFTP Client (PuTTY Secure FTP)         |
  | Plink    | plink.exe    | Kommando-Interface analog ssh-Kommando |
  | Pageant  | pageant.exe  | SSH Authentication Agent für PuTTY     |
  | pterm    | pterm.exe    | Reine Terminal-Emulation               |
  +----------+--------------+----------------------------------------+

1) PuTTY-Sitzung erstellen/starten/ändern   (Toc)

* Neue Sitzung mit eigenen Einstellungen erstellen
   1. "putty.exe" starten
   2. Einstellungen vornehmen (siehe unten)
   3. Session --> Saved Sessions --> SITZUNGSNAME          # Eintippen!
   4. Button "Save" drücken                                # NICHT vergessen!

* Vordefinierte Sitzung starten
   1. "putty.exe" starten
  2a. Doppelklick auf Session --> Saved Sessions --> SITZUNGSNAME
  2b. Einfachklick auf Session --> Saved Sessions --> SITZUNGSNAME
       Button "Open" drücken

* Einstellungen einer bereits definierten Sitzung ändern
   1. "putty.exe" starten
   2. Einfachklick auf Session --> Saved Sessions --> SITZUNGSNAME
      Button "Load" drücken
   3. Änderungen an den Einstellungen vornehmen (siehe unten)
   4. Button "Save" drücken                                # NICHT vergessen!

* Eigenschaften der aktuellen Sitzung ändern
    --> Mit rechter Maustaste in Titelzeile des PuTTY-Terminal klicken,
        "Change Settings..." auswählen und gewünschte Einstellungen durchführen
        Anschließend ---> zum Sichern  "Save" auswählen
                          zum Anwenden "Apply" auswählen

* Gleiche Sitzung nochmal starten
    --> Mit rechter Maustaste in Titelzeile des PuTTY-Terminal klicken,
        "Duplicate Session" auswählen

2) Sinnvolle Einstellungen   (Toc)

2.1) Anmeldung   (Toc)

* Sitzung definieren (User + Host + Protokoll + Sitzungsende):
    Session -->
      Host Name (or IP address): HOST  oder  USER@HOST  # User + Linux-Host
                            z.B. tln01@10.10.3.123      # tln01 = Loginname
                            z.B. root@glasgow           # root  = Loginname
                            z.B. atlantis.ostc.de       # Hostname
      Port:                      22                     # SSH-Port
      SavedSession:              SITZUNGSNAME           # Frei wählbar
      Protocol/Connection type:  (*) SSH                # Protokoll
      Close window on Exit:
        (*) Always ( ) Never ( ) Only on clean exit

  ACHTUNG: Bei einigen PuTTY-Versionen kann der Anmelde-Benutzername nicht per
  "@" getrennt vor den Hostnamen gesetzt werden, sondern ist einzutragen unter:
    Session --> Connection --> Data --> Auto-login username: USER

* Zu verwendendes SSH-Protokoll auswählen:
    Connection --> SSH -->
      Protocol Options
        Preferred SSH protocol version:
          ( ) 1 only    ( ) 1    (*) 2    ( ) 2 only

* Automatisches Logout abschalten:
    Connection -->
      Sending of null packets to keep session active
        Seconds between keepalive (0 to turn off):  ___60
      Low-level TCP connection options
        [*] Enable TCP keepalives (SO_KEEPALIVE option)

* Anmeldung per (geheimen) Schlüssel (private key) statt Passwort:
    Connection --> SSH -->
      Auth -->
        Private key-file for authentication: ______________ [Browse...]

  HINWEIS: Beschreibung der schlüsselbasierten Anmeldung unter Putty:
    --> putty-anmeldung-ohne-passwort-HOWTO.txt

* Zu verwendendes SSH-Protokoll auswählen:
    Connection --> SSH -->
      Protocol Options
        Preferred SSH protocol version:
          ( ) 1 only    ( ) 1    (*) 2    ( ) 2 only

* Automatisches Logout abschalten:
    Connection -->
      Sending of null packets to keep session active
        Seconds between keepalive (0 to turn off):  ___60
      Low-level TCP connection options
        [*] Enable TCP keepalives (SO_KEEPALIVE option)

2.2) Tastatur- und Mausbelegung   (Toc)

* Spezialtasten "Backspace" und "AltGr" wählen:
    Terminal --> Keyboard -->
      Change the sequences sent by:
        The Backspace key:
          ( ) Control-H    (*) Control-? (127)
      Enable extra keyboard features:
        [*] Control-Alt is different from AltGr

* Tastaturpiepsen abschalten:
    Terminal --> Bell -->
      Set style of bell
        Action to happen when a bell occurs:
          (*) None (bell disabled)
          ( ) Make default system alert sound
          ( ) Visual bell (flash window)
          ( ) Beep using the PC speaker
          ( ) Play a custom sound file

* Maustasten-Belegung zum Auswählen und Kopieren von Text wählen:
    Window --> Selection
      Control use of mouse
        Action of mouse buttons:
          ( ) Windows    (Middle extends, Right brings up menu)
          (*) Compromise (Middle extends, Right pastes)
          ( ) xterm      (Right extends, Middle pastes)

* Textauswahl per Maus wählt Text spaltenbasiert aus (Std: zeilenbasiert)
    Window --> Selection
      Control use of mouse
        Default selection mode (Alt+drag does the other one):
          ( ) Normal    (*) Rectangular block

2.3) Aussehen   (Toc)

* Cursorform setzen:
    Window --> Appearance -->
      Adjust the use of the cursor
        Cursor appeareance:
          (*) Block    ( ) Underline    ( ) Vertical line
          [ ] Cursor blinks

* Schriftart setzen (Lucida Console in 16-Punkt):
    Window --> Appearance -->
      Font settings
        Font used in the terminal window
          Courier New, 10-point --> Change... Lucida Console + Standard + 16

* Zeichensatz wählen:
    Window --> Translation -->
      Character set translation on received data
        Received data assumed to be in which character set:
          UTF-8                                   # Unicode
          ISO-8859-1:1998 (Latin-1, WestEurope)   # YaST-Rahmen korrekt anzeigt
          ISO-8859-15:1999 (Latin-9, "euro")      # Latin mit Euro-Zeichen
      Adjust how PuTTY handles line drawing characters
        Handling of line drawing characters:
           (*) Use Unicode line drawing code points
           ( ) Poor man's line drawing (+, - and |)
           ( ) Font has XWindows encoding
           ( ) Use font in both ANSI and OEM modes
           ( ) Use font in OEM mode only
      Adjust: UseUnicode

* Farbdarstellung Schrift (Vorder+Hintergrund) und Cursor wählen:
    Window --> Colours --> Modify -->
      Select a colour to adjust:   RGB value:
        Default Foreground      -->   0   0   0   # Black
        Default Bold Foreground --> 255   0   0   # Red
        Default Background      --> 255 255 255   # White
        Default Bold Background --> 255 255 255   # White
        Cursor Text:            --> 255 255 255   # White
        Cursor Colour:          -->   0   0   0   # Black
  TIPP: Einfachere Alternative (schwarze Schrift auf weißem Grund):
    Window --> Colours --> [X] Use System colours

* Größe des Terminalfensters festlegen (Std: 80x24):
    Window --> Colums --> 80
               Rows   --> 24

* Anzahl gemerkter Zeilen im Terminalfenster erweitern (Std: 2000):
    Window --> Lines of scrollback --> 999999

* Titelzeile festlegen (sonst abhängig von Login-Shell, $PS1, ...):
    Window --> Behaviour --> Windows title: ____________
    Terminal --> Features -->
      [X] Disable remote-controlled window title changing

2.4) Tunneling   (Toc)

Konfiguration einer "Putty-Session" am Windows-Client 192.168.0.200, die
über den Zwischenrechner 192.168.0.201 auf dem Web-Server 192.168.0.250
einen Web-Zugriff durchführen soll:

  192.168.0.200            192.168.0.201               192.168.0.250
  User: Admin              User: schulung              User: kurs1
  +----------+              +----------+               +----------+
  |   WIN    | <==========> |  ZWHOST  |  <==========> |  SERVER  |
  +----------+              +----------+               +----------+
       80                       3080                        80

In Putty vorzunehmende Einstellungen:

  Session --> Host Name (or IP address):              # Passwort/Passphrase
    schulung@192.168.0.201
  Connection --> SSH --> Tunnels --> Forwarded Ports: # Source port: 80
    L80 localhost:3080                                # Destination: localhost:3080
  Connection --> SSH --> Remote Command:
    ssh -l kurs1 -L 3080:localhost:80 192.168.0.250   # Passwort für "kurs1"!
    ssh -L 3080:localhost:80 kurs1@192.168.0.250      # (analog)

Achtung: Wahrscheinlich ist 2x Passwort/Passphrase einzugeben:
  1. Erst bei Verbindung Client --> Zwischenrechner für User "schulung".
  2. Dann bei Verbindung Zwischenrechner --> Server für User "kurs1".

3) Links   (Toc)

* Wikipedia PuTTY-Artikel
* PuTTY-Originalseite
* PuTTY-Original (akt. Vers.)
* Mirror-Seite von PuTTY
* Kitty (PuTTY-Alt. mit Konfig-Datei)
* Poderosa Project (PuTTY-Alternative)
* Poderosa Project (PuTTY-Alternative)
* PuTTY-Alternative (mit Konfig-Datei)
* MTPuTTY (Multi-Tabbed PuTTY Ergänzung)
* PuTTY Tray (verbessertes PuTTY)
* Putty Portable
* MobaXterm (Win: SSH/SCP/SFTP/X Server)
* Bananahut (MobaXterm Plugins)
* Putty fuer MacOS