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 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

PuTTY SSH Port Forwarding

SSH Tunnel mit PuTTY SSH Port Forwarding

PuTTY kann mehr als nur Terminal Sessions herstellen, mit der PuTTY 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 SSH Port Forwarding, Configuration SSH Port forwarding
PuTTY-Configuration SSH Port forwarding

Beispiel SSH Port forwarding

Hier in unserem Beispiel wird auf dem Host 212.117.203.98, unsere PBX mit SSH 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 tunnel port forwarding
PuTTY SSH tunnel port forwarding

PuTTY SSH Tunnel

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 forwarded port
PuTTY SSH forwarded port

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.

Static NAT

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

PuTTY Übergabe Parameter

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