Git

Konfigurieren Sie Git Server mit SSH auf CentOS 8

Konfigurieren Sie Git Server mit SSH auf CentOS 8
Wenn Sie ein kleines Technologieunternehmen haben, können Sie einen SSH-basierten Git-Server einrichten, damit die Leute, die an einem Projekt arbeiten, miteinander zusammenarbeiten können. In diesem Artikel zeige ich Ihnen, wie Sie einen Git-Server mit SSH unter CentOS 8 konfigurieren. Also lasst uns anfangen.

SSH für Git Server konfigurieren:

Um einen Git-Server so einzurichten, dass er über SSH funktioniert, müssen Sie sicherstellen, dass SSH installiert ist und korrekt ausgeführt wird.

Aktualisieren Sie zunächst den CentOS 8-Paket-Repository-Cache mit dem folgenden Befehl:

$ sudo dnf makecache

Installieren Sie nun den SSH-Server mit dem folgenden Befehl:

$ sudo dnf install -y openssh

Es sollte installiert sein. In meinem Fall war es bereits installiert.

Überprüfen Sie nun mit dem folgenden Befehl, ob der SSH-Dienst läuft:

$ sudo systemctl status sshd

Der SSH-Dienst sollte wie im Screenshot unten gezeigt ausgeführt werden.

Wenn der SSH-Dienst aus irgendeinem Grund bei Ihnen nicht läuft, können Sie ihn mit dem folgenden Befehl starten:

$ sudo systemctl start sshd

Erlauben Sie nun den Zugriff auf die SSH-Ports durch die Firewall mit dem folgenden Befehl:

$ sudo Firewall-cmd --add-service=ssh --permanent

Führen Sie abschließend den folgenden Befehl aus, damit die Änderungen der Firewall-Konfiguration wirksam werden:

$ sudo Firewall-cmd --reload

Git installieren:

Jetzt können Sie Git mit dem folgenden Befehl installieren:

$ sudo dnf install git

Um die Installation zu bestätigen, drücken Sie Y und dann .

Git sollte installiert sein.

Erstellen eines dedizierten Benutzers zum Hosten von Git-Repositorys:

Erstellen Sie nun einen dedizierten Benutzer git mit folgendem Befehl:

$ sudo useradd --create-home --shell /bin/bash git

Melden Sie sich jetzt als git Benutzer mit folgendem Befehl:

$ sudo su - git

Erstellen Sie nun ein neues Verzeichnis ~/.ssh wie folgt:

$ mkdir ~/.ssh

Nur der git Benutzer sollte Lese-, Schreib- und Ausführungsberechtigung für die ~/.ssh Verzeichnis.

Führen Sie dazu den folgenden Befehl aus:

$ chmod 700 ~/.ssh/

Wie Sie sehen, ist jetzt nur noch der Benutzer git hat Lese-, Schreib- und Ausführungsberechtigung für das Verzeichnis.

$ ls -ld ~/.ssh/

Erstellen Sie nun eine neue Datei ~/.ssh/authorized_keys wie folgt:

$ berühren ~/.ssh/authorized_keys

Nur der git Benutzer sollte Lese- und Schreibberechtigung für die ~/.ssh/authorized_keys Datei.

Führen Sie dazu den folgenden Befehl aus:

$ chmod 600 ~/.ssh/authorized_keys

Wie Sie sehen, ist jetzt nur noch der Benutzer git hat Lese- und Schreibberechtigung für die ~/.ssh/authorized_keys Datei.

$ ls -lh ~/.ssh/authorized_keys

Hinzufügen des öffentlichen Clientschlüssels zum Git-Server:

Um auf die Git-Repositorys auf dem Git-Server zuzugreifen, müssen die Benutzer des Repositorys ihre öffentlichen Schlüssel zum Git-Server hinzufügen.

Die Benutzer können ihre SSH-Schlüssel mit dem folgenden Befehl generieren:

$ ssh-keygen

Drücken Sie .

Drücken Sie .

Drücken Sie .

Der SSH-Schlüssel sollte generiert werden.

Jetzt können die Benutzer ihren öffentlichen Schlüssel im ~/.ssh/id_rsa.Kneipe Datei.

$ Katze ~/.ssh/id_rsa.Kneipe

Jetzt sollten die Benutzer ihre öffentlichen Schlüssel an den Git-Serveradministrator senden und der Serveradministrator kann diese Schlüssel zum Git-Server hinzufügen.

Nehmen wir an, der Serveradministrator hat die öffentliche Schlüsseldatei auf den Git-Server hochgeladen. Die Datei befindet sich im Pfad /tmp/shovon-key.Kneipe.

Nun kann der Serveradministrator den Inhalt des öffentlichen Schlüssels zum ~/.ssh/authorized_keys Datei wie folgt:

$ cat /tmp/shovon-key.Kneipe >> ~/.ssh/authorized_keys

Der öffentliche Schlüssel sollte am Ende des angehängt werden ~/.ssh/authorized_keys Datei.

Erstellen eines leeren Git-Repositorys auf dem Git-Server:

Im Home-Verzeichnis der git Benutzer behalten wir alle unsere Git-Repositorys, auf die autorisierte Personen zugreifen können.

So erstellen Sie ein leeres Git-Repository Prüfung Führen Sie auf dem Git-Server den folgenden Befehl aus:

$ git init --bare test.git

Wenn ein berechtigter Benutzer vom Git-Server auf das Git-Repository zugreifen möchte, benötigt er lediglich den Namen des Git-Repositorys und die IP-Adresse des Git-Servers.

Führen Sie den folgenden Befehl aus, um die IP-Adresse des Git-Servers zu ermitteln:

$ nmcli

Die IP-Adresse ist in meinem Fall 192.168.20.129. Bei dir wird es anders sein. Stellen Sie also sicher, dass Sie es von nun an ersetzen.

Ein neues Verzeichnis Prüfung.git sollte auf dem Git-Server erstellt werden.

Zugriff auf Git-Repositorys vom Git-Server:

Jetzt kann ein autorisierter Benutzer auf die Prüfung Das Git-Repository, das wir zuvor wie folgt erstellt haben:

$ git clone [email protected]:~/test.git

Wenn sich der Benutzer zum ersten Mal mit dem Git-Server verbindet, muss er/sie etwas eingeben Ja und drücke .

Das Git-Repository Prüfung sollte geklont werden.

Ein neues Verzeichnis Prüfung/ sollte im aktuellen Arbeitsverzeichnis des Benutzers erstellt werden.

Der Benutzer muss wie folgt zum Verzeichnis test/ navigieren:

$ CD-Test/

Nehmen wir an, der Benutzer hat eine neue Datei erstellt.

$ echo "Hallo Welt" > Nachricht.TXT

Habe die Änderungen übernommen.

$ git hinzufügen .

$ git commit -m 'erster Commit'

$ git log --oneline

Dann hat der Benutzer die Änderungen auf den Git-Server übertragen.

$ git push origin

Hinzufügen eines weiteren Teammitglieds:

Wenn ein anderer Benutzer auf den Git-Repository-Test zugreifen möchte, muss er einen SSH-Schlüssel generieren und den öffentlichen Schlüssel an den Git-Serveradministrator senden. Sobald der Git-Serveradministrator seinen öffentlichen Schlüssel zum to ~/.ssh/authorized_keys Datei kann der Benutzer auch auf die Git-Repositorys auf dem Server zugreifen.

Sagen wir, Bob will auch daran arbeiten Prüfung Git-Repository.

Er klont die Prüfung Git-Repository auf seinem Computer.

$ git clone [email protected]:~/test.git

Bob Typen in Ja und drückt .

Das Prüfung Git-Repository ist geklont.

Bob navigiert zum Prüfung/ Verzeichnis.

Findet den Commit, den die Person, die an diesem Git-Repository arbeitet, gemacht hat.

$ git log --oneline

Er nimmt einige Änderungen am Projekt vor.

$ echo "diese Bearbeitung stammt von Bob" >> Nachricht.TXT

Bestätigt die Änderungen.

$ git hinzufügen .

$ echo "diese Bearbeitung stammt von Bob" >> Nachricht.TXT

$ git log --oneline

Bob pusht die Änderungen auf den Git-Server.

Nun, der andere Benutzer shovon zieht die Änderungen (falls vorhanden) vom Git-Server in das Git-Repository.

shovon findet das neue Commit, das Bob gemacht.

$ Katzennachricht.TXT

So konfigurieren Sie einen Git-Server mit SSH auf CentOS 8 und verwenden ihn. Danke, dass du diesen Artikel gelesen hast.

Battle for Wesnoth-Tutorial
The Battle for Wesnoth ist eines der beliebtesten Open-Source-Strategiespiele, die Sie derzeit spielen können. Dieses Spiel befindet sich nicht nur se...
0 A.D. Lernprogramm
Von den vielen Strategiespielen da draußen, 0 A.D. schafft es, sich trotz Open Source als umfassender Titel und sehr tiefgehendes, taktisches Spiel ab...
Unity3D-Tutorial
Einführung in Unity 3D Unity 3D ist eine leistungsstarke Engine für die Spieleentwicklung. Es ist plattformübergreifend, das heißt, Sie können Spiele ...