Dein Git, Dein RasPi

Dein eigener Git-Server auf Deinem Rasberry Pi

Ein GitServer ist eine großartige Möglichkeit, Ihr Projekt zu teilen und mit anderen zusammenzuarbeiten. Oft möchten Sie Dinge wie Ihren Code oder Konfigurationsdateien unter einer Versionskontrolle haben.

Sie können zu Hause einen Gitlab-Server einrichten, wenn Sie die Kontrolle über Ihre eigenen Repository haben möchten. Wenn Sie aber nicht mit einem Team zusammenarbeiten, kann die Installation und Konfiguration ein Overkill und etwas zeitaufwändig sein.

Ich finde es besser, meine privaten Konfigurationsdateien und Skripte auf meinem eigenen RasPi zu verwalten, damit ich meine Skripte zwischen meinem Desktop, Laptop und PC synchronisieren kann.

Sobald Sie dieses Setup eingerichtet haben, können Sie sogar Sicherungen Ihrer Konfigurationen mit Hilfe von etckeeper automatisieren.

Grundlegende Übersicht

Sie benötigen auch einen laufenden SSH-Daemon. (z.B.: Putty)

Das Einrichten eines privaten Git-Repositorys ist fast zu einfach.

  1. Einloggen in den Raspberry Pi via SSH
  2. Git- Paket installieren
  3. Einen Git-User anlegen

sudo adduser –gecos “” git

Das war’s! Sie können nun einem nackten Repository in Ihrem Pi erstellen. Der Besitzer ist der User: git

mkdir -p /media/USBdrive/git/myrepo.git

sudo chown -R git  git/media/usbdrive/git

cd /media/usbdrive/git/myrepo.git

git init –bare

So greifen Sie von Aussen darauf zu.
Angenommen Ihr Hostname (IP-oder Ihre Domain) für Ihren Raspberry Pi ist “Server”, dann wäre der Aufruf:

git clone ssh://git@server/media/USBdrive/git/myrepo.git

Die Endgültige Einrichtung

Natürlich ist dies etwas zu einfach. Wir wollen ein bisschen mehr Sicherheit.

Wenn Sie dies noch nicht haben, generieren Sie einen SSH-Schlüssel für das Gerät, auf das Sie zugreifen möchten.

ssh-keygen -t rsa -N “” -f ~/.ssh/id_rsa

Registrieren Sie Ihren öffentlichen Schlüssel im Git-Server

ssh-copy-id git@server

,was die Entsprechung zu

cat ~/.ssh/id_rsa.pub | ssh git@server “cat >> ~/.ssh/authorized_keys”

ist.

Disable login sessions und password für die git Benutzer, so das nur Benutzer in authorized_keys Zugriff haben.

sudo passwd -l git

Verwendung Git-Shell für den Benutzer Git als eingeschränkte Shell nur für Git-Operationen.

sudo usermod -s / usr / bin / git-shell git


Viel Spaß !!!