Schlagwort-Archive: PuTTY free SSH Client

PuTTY ist eine freie Software zum Herstellen von Verbindungen über Secure Shell, Telnet, Remote login oder serielle Schnittstellen.

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:

2016-08-26T19:54:51Z sshd[35650]: error: Hm, kex protocol error: type 30 seq 1

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

SSH Schlüssel generieren mit 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 PuTTY
OpenSSH Key generieren

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

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

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 am Inhalt nichts geändert werden.

[user@smarthost .ssh]# ll
insgesamt 16
drwx------  2 user user 4096 21. Okt 2013  .
drwx------ 10 user user 4096 10. Apr 15:13 ..
-rw-------  1 user user 1124 21. Okt 2013  authorized_keys

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 bei diesem eingeloggt werden soll, mit eintragen der IP oder Hostname im Abschnitt Session und Host Name (or IP address).

Bei PuTTY Configuration die IP oder ein Hostname im Abschnitt Session und Host Name (or IP address).
Abbildung: PuTTY session

Der Pfad zum Privatkey 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.

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

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

# Authentication for user id's
AllowUsers user
# Allow key authentication
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
Tipp

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

# use putty load session name
"C:\Program Files\PuTTY\putty.exe" -load smarthost.mydomain.com
# use putty session command-line
"C:\Program Files\PuTTY\putty.exe" -i C:\Users\user\ssh\privkey.ppk user@smarthost.mydomain.com

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

plink -i C:\Users\user\ssh\privkey.ppk userd@smarthost.mydomain.com