Git-SSH-Authentifizierung

Lesezeit: 2 Minuten

Git SSH Authentifizierung
Iwan Samylin

Ich habe Debian, Fisheye und Git auf meinem Server. Meine Git-Repos werden von Fisheye verwaltet. Es gibt keine Authentifizierung im Fisheye-Teil. Alle Authentifizierungsverfahren werden von git verwaltet.

Ich möchte die SSH-Authentifizierung verwenden, damit ich Benutzername und Passwort nicht angeben muss, wenn ich meine Änderungen an den Server weiterleite. Ich weiß, wie man einen RSA-Schlüssel erstellt, aber wo kopiere ich meinen öffentlichen Schlüssel auf dem Server?

Git SSH Authentifizierung
VonC

Der Schlüsselteil des Artikels “Git auf dem Server – Einrichten des Servers” ist:

Sie müssen einige öffentliche SSH-Entwicklerschlüssel zu hinzufügen ~/.ssh/authorized_keys Datei für diesen Benutzer.
Nehmen wir an, Sie haben ein paar Schlüssel per E-Mail erhalten und in temporären Dateien gespeichert. Auch hier sehen die öffentlichen Schlüssel in etwa so aus:

$ cat /tmp/id_rsa.john.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCB007n/ww+ouN4gSLKssMxXnBOvf9LGt4L
ojG6rs6hPB09j9R/T17/x4lhJA0F3FR1rP6kYBRsWj2aThGw6HXLm9/5zytK6Ztg3RPKK+4k
Yjh6541NYsnEAZuXz0jTTyAUfrtU3Z5E003C4oxOj6H0rfIF1kKI9MAQLMdpGW1GYEIgS9Ez
Sdfd8AcCIicTDWbqLAcU4UpkaX8KyGlLwsNuuGztobF8m72ALC/nLF6JLtPofwFBlgc+myiv
O7TCUSBdLQlgMVOFq1I2uPWQOkOWQAHukEOmfjy2jctxSDBQ220ymjaNsHT4kgtZg2AYYgPq
dAv8JggJICUvax2T9va5 gsg-keypair

(Hinweis: Stellen Sie sicher, dass der Schlüssel angezeigt wird ein einzelne Zeile)

Sie hängen sie einfach an Ihre Datei “authorized_keys” an:

$ cat /tmp/id_rsa.john.pub >> ~/.ssh/authorized_keys

Wenn Sie keine haben authorized_keys Datei auf Ihrem Server, erstellen Sie sie, aber achten Sie darauf, sie richtig zu schützen.

server$ mkdir ~/.ssh
server$ chmod 700 ~/.ssh
server$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
server$ chmod 600 ~/.ssh/authorized_keys
server$ rm ~/id_rsa.pub

Ein konkretes Beispiel finden Sie unter „Erstellen von SSH-Schlüsseln für Gerrit und Hudson“.

  • Stellen Sie sicher, dass sich git in dem PATH befindet, der von Ihrem ssh-Daemon verwendet wird.
  • Stellen Sie sicher, dass alle übergeordneten Verzeichnisse Ihrer ~/.ssh sind für die Gruppe nicht beschreibbar (chmod 755 nur).

  • Beachten Sie, dass Sie dadurch eine vollständige Shell-/interaktive Sitzung erhalten. Erwägen Sie die Verwendung dedizierter „Git-Schlüssel“ in Kombination mit „erzwungenen Befehlen“, um diesen Schlüssel auf „nur Git“ zu beschränken. Insbesondere tun Sie dies, wenn mehrere Benutzer dasselbe „Git-Konto“ verwenden. Siehe zB hier für ein Beispiel: superuser.com/questions/299927/…

    – Jens

    30. März 2018 um 9:56 Uhr

  • @Jens Ich stimme zu. Das (“ssh erzwungener Befehl”) verwende ich seit Jahren mit Gitolite, das ich damals (vor mehr als 5 Jahren) in stackoverflow.com/a/13320256/6309 vorgestellt habe.

    – VonC

    30. März 2018 um 11:29 Uhr


Git SSH Authentifizierung
Er Jab

Sie müssen Ihren öffentlichen Schlüssel darin einfügen ~/.ssh/authorized_keys. Erstellen Sie die Datei, falls sie nicht vorhanden ist.

963910cookie-checkGit-SSH-Authentifizierung

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy