git sagen welcher SSH-Key genutzt werden soll

In diesem Artikel möchte ich Euch zeigen, wie Ihr Git mitteilen könnt, welcher Eurer SSH-Keys verwendet werden soll. Es ist sehr sinnvoll, mehrere SSH-Keys für verschiedene Anwendungen zu benutzen, z.B. einen Key für die Arbeit, einen anderen für Privates und einen zur Administration des eigenen Servers und so weiter...

Da SSH sich normalerweise nur mit dem Standardkey unter /home/USER/.ssh/id_rsa authentifiziert, müssen wir bei mehreren SSH-Keys in unserem .ssh-Verzeichnis Anwendungen wie Git mitteilen, welchen Key diese nun verwenden sollen.

Dies können wir machen, indem wir uns die Funktionen von der SSH *config-*Datei zu Nutze machen. Diese Datei muss, falls noch nicht passiert, zuerst im Verzeichnis /home/USER/.ssh angelegt werden. Wenn ihr einen Editor wie nano oder vim verwendet, wird die Datei beim Speichern automatisch angelegt, falls sie noch nicht existierte.

vim ~/.ssh/config

In die Datei kommt dann folgendes:

Host git

        Hostname deineGitDomain.tld

        Port  22

        User DeinUserName

        IdentityFile  /home/user/.ssh/deinGitKey

Die Parameter müsst Du natürlich an dich anpassen.

Der Host, in diesem Falle git, ist der Hostname, wie er nun intern genutzt wird, um sich an dem Server anzumelden.
Der Hostname ist der Hostname (also die Domain), unter der du deinen Git-Server erreichen kannst (z.B. deineGitDomain.tld oder auch github.com)
Der Port ist der Port, auf dem der Git-SSH-Server läuft.
IdentityFile ist der Pfad zu dem SSH-Key, welchen du verwenden möchtest.

Damit nun diese Konfiguration beim pullen und pushen eines Repositories verwendet wird, muss der Link des Repositories angepasst werden. Dazu schreibt Ihr den Link so um, dass nach dem @ nun ein git steht. Aus ssh://git@deineGitDomain.tld:22/DeinNutzername/DeinRepository.git
wird also ssh://git@git/DeinNutzername/DeinRepository.git Da die Portangabe auch bereits in der config-Datei steht, müssen wir diese nun nicht mehr angeben. Nun kann wieder wie gewohnt gepullt und gepusht werden. Nur bei bereits geklonten Repositories muss die bisherige URL durch die neue ersetzt werden: Mit

git remote remove origin

wird die alte URL entfernt und mit

git remote add origin ssh://git@git/DeinNutzername/DeinRepository.git

die neue eingetragen.

Ich hoffe, dass ich dem einen oder anderen mit diesem Beitrag helfen konnte. Wenn es Fragen gibt, schreibt mir doch einfach einen Kommentar unter diesen Artikel.

Teilen macht Spaß:

Posted by Daniel Schwarz

danielschwarz
Daniel Schwarz, macht irgendwas mit Computern in der Nähe von Würzburg, schreibt hier privat auf BlackIT um anderen bei Problemen zu helfen. Macht er mal nichts mit Computern so engagiert er sich ehrenamtlich bei der freiwilligen Feuerwehr in Randersacker und den Maltesern in Würzburg.

Letzte Beiträge: