Mittwald V-Server Zugriff via SSH Key – OSX
Bei jeder Verbindung auf einen Server die SSH Daten einzugeben ist mehr als lästig. Um das ganze abzukürzen bietet es sich an eine SSH-Config-Datei zu verwenden und zusätzlich dazu noch einen SSH Key zu erstellen. Der Vorteil hierbei ist, dass das Passwort für den Key im Schlüsselbund gespeichert werden kann und es nicht ständig angegeben werden muss.
Eine SSH-Config-Datei erstellen
Dazu erstellst du im Verzeichnis ~/.ssh/ eine Datei die du „config“ nennst. Je Hosteintrag legst du folgende 4 Zeilen an:
1 2 3 4 |
Host test Hostname xxx.com Port xxx User sshUser |
Wenn du die Datei gespeichert hast kannst du den Eintrag testen in dem du auf der Konsole ssh test eingibst. Die Verbindung wird aufgebaut und das Passwort abgefragt.
Das war der erste Schritt zur Optimierung. Nun wollen wir aber das wir nicht immer das Passwort eingeben müssen, das nervt ja auch auf Dauer.
SSH Public Key erstellen
Daher legen wir uns einen Public SSH-Key an, dabei wird ein Schlüsselpaar erzeugt, dass mit einem Passwort versehen wird. Der eine Teil des Schlüssel-Paares wird dann auf den Server gespielt, der andere liegt lokal. In der SSH-Config Datei müsst ihr dann noch den Pfad zur lokalen Schlüsseldatei angeben, damit das auch klappt. Aber legen wir zuerst den SSH Key an.
Gib auf der Konsole den Befehl ssh-keygen -t rsa -b 4096 ein. Der Parameter -t steht für TYPE. Wir verwenden die RSA Verschlüsselung . -b steht für die Bit-Länge, hier 4096, es sollten auf jeden Fall nicht weniger als 1024 sein.
Bestätigst du die Eingabe, wirst du nach dem Dateinamen gefragt, gib hier einen sinnvollen Namen ein, wir nennen unseren test. Die generierten Keys werden auf dem Mac unter /User/.ssh/ abgelegt.
Dann musst du ein Passwort wählen, dass nochmal bestätigt werden muss. Wichtig: Es muss nicht das bereits bekannte SSH-Passwort sein, du kannst ein neues vergeben.
Eine ähnliche Ausgabe sollte erscheinen:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Your identification has been saved in test. Your public key has been saved in test.pub. The key fingerprint is: 6a:73:99:43:45:f8:16:6f:7a:7f:54:d5:42:74:f8:42 xxxxxx@xxxxx-MacBook-Pro-2 The key's randomart image is: +--[ RSA 4096]----+ | .. oo.o| | ... E.o| | ..o . o.| | .o o . o| | S. o ..| | o o. . .| | + = . . . | | . o . . .| | . | +-----------------+ |
In deinem aktuellen Verzeichnis findest du 2 neue Dateien (ich bin im ~/User/..ssh/ Verzeichnis), in meinem Fall nun test und test.pub. Die test.pub muss auf den Server übertragen werden.
Evtl. musst du für das Übertragen des Keys noch ssh-copy-id via brew installieren, das geht mit folgendem Befehl
brew install ssh-copy-id .
Dann folgenden Befehl anwenden: ssh-copy-id -i ~/.ssh/test User@domain_o_IP , -i steht für identity file und muss den Pfad und den Dateinamen zum Key beinhalten (die Datei ohne .pub Endung). Dann noch einmal das ssh Passwort des Servers eingeben und die Datei wird gleich korrekt auf dem Server installiert.
Als letzten Schritt muss die SSH-Config-Datei angepasst und der Pfad zur Schlüsseldatei hinzugefügt werden. Das macht ihr über die Zeile
1 |
IdentityFile ~/.ssh/test |
Der Eintrag muss dann wie folgt aussehen.
1 2 3 4 5 |
Host test Hostname xxx.com IdentityFile ~/.ssh/test Port xxx User sshUser |
Wenn du jetzt ssh test eingibst, erscheint eine Passwortabfrage (das letzte mal – Yeahh), hier dein Passwort eingeben, das du für den SSH-Key verwendet hast. Im Schlüsselbund speichern und das eingeben bei jeder Verbindung zu dem Server ist hinfällig.
Nicht nur bei Mittwald V-Servern
Wir hatten den Bedarf auf einem Mittwald V-Server, die Vorgehensweise funktioniert aber auch auf Debian oder Ubuntu.
Viel Spass beim schnellen login.
Discussion — One Response