% master: git_auf_dem_ssh-server_einrichten.tex % Git auf dem SSH-Server einrichten v0.1 % 2017-01-09 (Rx) \section{Git auf dem SSH-Server einrichten} %------------------------------------------ Einrichtung des SSH-Zugangs auf dem Server mit der Authorized-Keys-Methode zur Authentifizierung der Benutzer. \begin{verbatim} sudo adduser git Benutzer git anlegen su git Rechte von User git erlagen cd ins Home ~ Verzeichnis des Users wechseln mkdir .ssh Verzeichnis .ssh anlegen \end{verbatim} - öffentliche SSH-Schlüssel der Entwickler zu der Authorized-Keys-Datei des Benutzers git hinzuzufügen. \begin{verbatim} cat /tmp/id_rsa.user1.pub > ~/.ssh/authorized_keys authorized_keys erstellen und User1 einfügen cat /tmp/id_rsa.user2.pub >> ~/.ssh/authorized_keys User2 einfügen cat /tmp/id_rsa.user3.pub >> ~/.ssh/authorized_keys User3 einfügen \end{verbatim} - Leeren Ordner anlegen und mit der Option --bare ein Repository ohne ein Arbeitsverzeichnis erzeugen. \begin{verbatim} cd /srv in den Ordner srv wechseln mkdir git git Ordner anlegen cd git in den Ordner git wechseln mkdir project.git project.git Ordner anlegen cd project.git in den Ordner project.git wechseln git --bare init Repository ohne ein Arbeitsverzeichnis erzeugen \end{verbatim} - Die erste Version des Projektes in das Repository hochladen \begin{verbatim} cd project in das Projekt wechseln git init Projekt Repository herstellen git add . alle Dateien um Index hinzufügen git commit -m 'initial commit' Index zum Working Tree hinzufügen git remote add origin git@gitserver:/srv/git/project.git Server hinzufügen git push origin master Commits und Referenzen auf den Server hochladen \end{verbatim} - Repository klonen und Änderungen hochladen \begin{verbatim} git clone git@gitserver:/srv/git/project.git Repository klonen cd project ins Projekt wechseln vim README Projekt bearbeiten git commit -am 'fix for the README file' Änderung speichern git push origin master Änderung hochladen \end{verbatim} - Git-Zugang absichen \begin{verbatim} /etc/passwd git:x:1000:1000::/home/git:/bin/sh /bin/sh auf git:x:1000:1000::/home/git:/usr/bin/git-shell /usr/bin/git-shell ändern \end{verbatim}