
Eine Secure Shell oder SSH Verbindung herzustellen geschieht normalerweise einfach über den Terminal. In meinem Fall gab es da aber noch eine Schlüssel-Datei im PuTTY eigenen PPK Format. Sicher, es gibt PuTTY auch für Unix Systeme, aber warum den Terminal wechseln, wenn es eigentlich gar nicht nötig ist. Aber leider kann openSSH nicht mit den Putty eigenen Schlüssel-Dateien umgehen. Wie man das Ganze trotzdem zum Laufen kriegt – eine kurze Anleitung.
Zunächst muss man den Schlüssel konvertieren, dass geschieht mit dem Programm PuTTYgen. Unter Ubuntu installiert man das wie folgt:
$ sudo apt-get install putty-toolsDann konvertiert man den Schlüssel, und speichert diesen unter dem .ssh-Ordner im Home-Verzeichnis ab.
cd /path/to/orginalkey/
puttygen orginalkey.ppk -O private-openssh -o mynewkeyfile.sec
mv mynewkeyfile.sec ~/.ssh/
chmod 600 ~/.ssh/mynewkeyfile.secDamit die Schlüssel auch akzeptiert werden, gelten bestimmte Zugriffsrechte für das .ssh Verzeichnis (700) und die darin liegenden Dateien (600). In dieser Form funktioniert der Schlüssel, und man kann sich verbinden:
ssh MyUserName@hostname.de -i ~/.ssh/mynewkeyfile.secSoweit so gut, nun kann man den Komfort noch erhöhen. Dafür legt man eine config Datei im .ssh Verzeichnis an, in dem man die Verbindungsparameter dauerhaft speichert:
sudo gedit ~/.ssh/configEine genaue Anleitung findet man auf der entsprechenden man-page von ssh_config. Hier ein einfaches Beispiel:
Host mySSHConnection
HostName 123.456.789.0
Port 980
User MyUserName
IdentityFile ~/.ssh/mynewkeyfile.sec
DynamicForward 1234Die letzte Anweisung emuliert per SSH einen SOCKS 5-Proxy, der in meinem Falle ebenfalls nötig war. Man muss in seinem Browser lediglich die Verbindung entsprechend anpassen, das geschieht im Firefox bspw. über Bearbeiten > Netzwerk > Einstellungen. Dort die Angabe für Manuelle Proxy Konfiguration, als SOCKS Host die 127.0.0.1 und als Port den Wert des DynamicForward eintragen. Jetzt kann man sich im Terminal über den folgenden Befehl per SSH mit dem Server verbinden:
ssh mySSHConnectionWer auf der Unity Oberfläche von Ubuntu unterwegs ist, kann sich noch folgende Launcher Erweiterung ansehen: Gnome-Terminal Quicklist (auto-update from ssh config), damit kann man die in der Konfiguration gespeicherten SSH Verbindungen direkt in seinen Terminal Launcher integrieren.
Eine Lösung für die gleiche Problematik auf einem Mac findet man unter leadingedgescripts.co.uk.
