Schlagwort-Archive: PuTTY

PuTTY neue Version

PuTTY veröffentlicht neue Version der SSH-Tools für Windows, unterstützt wird neu Elliptic Curve Crypto. Das PuTTY-Entwicklerteam um Simon Tatham hat eine neue Version des Windows-SSH-Clients veröffentlicht. Version 0.68 behebt einige Security-Probleme und soll nun versuchen die Programme zusätzlich mit Massnahmen wie Address Space Layout Randomization (ASLR) und Data Execution Prevention (DEP) zu schützen. Es gibt nun eine 64-Bit-Version der PuTTY-Tools für Windows. Neu ist der Support von Elliptic-Curve-Kryptografie, wie ihn etwa auch OpenSSH bietet. Das neue Format für Private Keys unterstützt nun PuTTY ebenfalls.

Das grafische Frontend der Unix-Version von PuTTY lässt sich nun mit der GUI-Bibliothek Gtk3 übersetzen. Den Authentifizierungsagent Pageant gibt es jetzt auch für Unix.
Download PuTTY

Das Packet besteht aus folgenden Applikationen:

  • PuTTY
    Terminalemulator mit Telnet-, Rlogin- und SSH-Client und der Möglichkeit, sich mit  einer lokalen serielle Schnittstelle zu verbinden (ab Version 0.59)
  • PSCP (PuTTY Secure Copy client)
    ein SCP-Client
  • PSFTP (PuTTY Secure File Transfer (SFTP) client)
    ein SFTP-Client
  • PuTTYtel
    Terminalemulator mit Telnet- und Rlogin-Client
  • Plink (PuTTY Link)
    PuTTY als Commandline-Tool (ohne grafische Oberfläche)
  • Pageant (PuTTY authentication agent)
    ein SSH-Agent, mit dem SSH-Authentifizierungen weitergereicht werden können
  • PuTTYgen (PuTTY Key Generator)
    erstellt RSA und DSA Keys, beispielsweise für SSH
  • pterm
    ein unabhängiger Terminal-Emulator

SSH zu ESXi 6.0U2 mit PuTTY

VMware 6.0U2 beinhaltet viele Neuerungen, so wurde auch der OpenSSH 7.1 Daemon integriert. Dabei kommt es beim versuch mit

PuTTY ein SSH Terminal zum ESXi-Host zu initialisieren zum timeout, mit anschliessendem Fehler: Server unexpectedly closed network connection.

Auf dem ESXi-Host wird folgender Eintrag protokolliert, in /var/log/auth.log:

Der Grund liegt beim Algorithmus für den Schlüsselaustausch, Diffie-Hellman group exchange des PuTTY, dieser bereits über 10 Jahre alte Algorithmus zur Verschlüsselung wird von OpenSSH 7.1 nicht mehr unterstützt.

 

Damit dennoch über PuTTY SSH Terminal Sessions möglich sind, muss der Algorithmus Diffie-Hellman group exchange nach unten verschoben werden, so das der neuere Algorithmus Diffie-Hellman group 14 zur ersten Priorität wird.

PuTTY Kex Diffie-Hellman
PuTTY Kex Diffie-Hellman

Die PuTTY Einstellung zur Session des ESXi 6.0 Host speichern, nun sind SSH-Terminal Verbindungen wieder möglich.

PuTTY Key Generator

Um sich bei einem Linux Host ohne Passwort abfrage einloggen zu können, oder um Batch-Prozesse ausführen zu können, beispielsweise um die Authentifizierung aus Scripts zu ermöglichen, werden OpenSSH Schlüssel eingesetzt.

OpenSSH Key generieren

Mit dem PuTTY Key Generator wird ein Schlüsselpar erzeugt, danach wird der öffentliche Schlüssel auf den Remote Host kopiert.

putty-key-generator

Im Feld Key comment kann die eigene Email Adresse eingetragen werden, der generierte Privat Key wird als privkey.ppk gespeichert, der Public Key wird als pubkey.ppk gespeichert. Der Public Key wird auf dem Remote Host unter dem Home Pfad des Benutzers in das Verzeichnis .ssh in die Datei authorized_keys gespeichert, es darf beim copy & paste editieren am Inhalt nichts geändert werden.

Das Verzeichnis .ssh sollte die rechte 700 haben und der Besitzer muss user sein. Der Benutzer user soll hier als beispiel dienen.

PuTTY mit OpenSSH Key

Der Host wird in PuTTY bei diesem eingeloggt werden soll  mit IP oder hostname als PuTTY Session angelegt.

putty-onfiguration
Abbildung: PuTTY session

Der Pfad zum Privat key der mit PuTTY Key Generator generiert wurde, wird unter Connection  – SSH – Auth eingetragen.

putty-configuration-ssh-auth
Abbildung: SSH authentication

Bei Auto-login username definiert man den Benutzer der sich authentifizieren soll.

putty-configuration-auto-login
Abbildung: Auto-login username
Anwerkung

Beim SSH Daemon wird die Key Authentifizierung aktiviert, in der SSHD Konfiguration /etc/ssh/sshd_config

Tipp

PuTTY kann als command-line Befehl ausgeführt werden, so können Scripts zur Anwendung kommen.

Mit plink ist es möglich PuTTY per CLI zu nutzen,.

 

PuTTY SSH Port Forwarding

PuTTY kann mehr als nur Terminal Sessions herstellen, mit der Option SSH port forwarding lassen sich auf einfache weise SSH-Tunnels initialisieren.

Nach dem PuTTY gestartet ist, trägt man unter Host Name die IP des Ziel Host, oder den Server Name ein, dies ist in der regel eine Firewall, ein Router oder ein Host mit globaler IP Adresse.

PuTTY-Configuration
PuTTY-Configuration

Hier in unserem Beispiel wird auf dem Host 212.117.203.98, unsere PBX mit dem Port forwarding zu einem SIP-Phone hergestellt, um dieses danach über den Webbrowser zu konfigurieren, der Host kann auch ein FQDN eines DNS auflösbaren Host sein.

PuTTY SSH port forwarding
PuTTY SSH port forwarding

Im unteren Teil bei SSH wird der Punkt Tunnels ausgewählt. Danach wird der Startpunkt und der Endpunkt des Tunnels eingetragen:
Source port: 8888
Destination: 172.30.10.10:80

PuTTY SSH port forwarding
PuTTY SSH port forwarding

Abgeschlossen wird die Aktion mit einem Klick auf Add. Damit sind die Daten des Tunnels übernommen. Die Einstellungen werden oben beim Punkt Session mit Klick auf Save Permanent gespeichert.

Mit einem Klick auf Load und Open wird die Verbindung aufgebaut. Es öffnet sich die bekannte Terminal Konsole mit der Aufforderung sich einzuloggen. Dort loggt man sich als normaler User ein, damit wird der Tunnel etabliert.

Nun öffnet man den Webbrowser und gibt folgende Localhost Adresse ein: https://127.0.0.1:8888/. Danach beginnt, wie hier in unserem Beispiel der Anmeldedialog des SIP-Phone WebGUI welches wir nun konfigurieren können. Weitere Möglichkeiten SSH-Tunnels zu nutzen, bieten sich an für Synology DS, SAN Speicher, Unix/Linux Hosts oder Mac OS X an.

Hinweis:
Auf dem Server muss die SSH-Option AllowTcpForwarding yes aktiviert sein, Default ist yes in der Server Konfigurationsdatei /etc/ssh/sshd_config eingetragen.

Für den Host hinter einer Firewall muss dieser über Port 22 Static NAT forward erreichbar sein.

PuTTY kann mittels Übergabe zahlreicher Parameter genutzt werden.

PUTTY-Verknüpfung
PUTTY-Verknüpfung

Folgende Zeile als Ziel  zur Verknüpfung einfügen:
„C:\Program Files (x86)\PuTTY\PUTTY.EXE“ -l jolly -pw password -4 -L 8888:172.30.10.10:80 -X :0 -load PBX

Wobei die Parameter folgendes bedeuten:
-l  der Loginname
-pw  das Passwort
-4  es soll IPv4 verwendet werden
-L  der Destination Port und die IP
-X  für X11 forwarding
-load  gespeicherte Session öffnen