Um einen Git -Server für SSH einzustellen, 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 openenssh
Es sollte installiert werden. In meinem Fall war es bereits installiert.
Überprüfen Sie nun, ob der SSH -Dienst mit dem folgenden Befehl ausgeführt wird:
$ sudo systemctl Status SSHD
Der SSH -Dienst sollte wie im Screenshot unten gezeigt ausgeführt werden.
Wenn der SSH -Dienst aus irgendeinem Grund nicht für Sie ausgeführt wird, können Sie ihn mit dem folgenden Befehl starten:
$ sudo systemctl starten sshd
Ermöglichen Sie nun den Zugriff auf die SSH -Ports über die Firewall mit dem folgenden Befehl:
$ sudo firewall-cmd --add-service = ssh --permanent
Führen Sie schließlich den folgenden Befehl für die Firewall -Konfigurationsänderungen aus, um wirksam zu werden:
$ sudo firewall-cmd-Reload
Installieren von Git:
Jetzt können Sie Git mit dem folgenden Befehl installieren:
$ sudo dnf Installieren Sie Git
Um die Installation zu bestätigen, drücken Sie Y und drücken Sie dann .
Git sollte installiert werden.
Erstellen eines speziellen Benutzers zum Hosting von Git -Repositories:
Erstellen Sie nun einen speziellen Benutzer Git mit dem folgenden Befehl:
$ sudo userAdd-create-home-Shell /bin /bash git
Melden Sie sich jetzt als die an Git Benutzer mit dem folgenden Befehl:
$ sudo su - Git
Erstellen Sie nun ein neues Verzeichnis ~/.ssh folgendermaßen:
$ mkdir ~/.ssh
Nur der Git Der Benutzer sollte die Erlaubnis an die gelesen, schreiben und ausführen müssen ~/.ssh Verzeichnis.
Führen Sie dazu den folgenden Befehl aus:
$ chmod 700 ~/.ssh/
Wie Sie sehen können, jetzt nur der Benutzer Git hat die Erlaubnis im Verzeichnis gelesen, schreiben und ausführen.
$ ls -ld ~/.ssh/
Erstellen Sie nun eine neue Datei ~/.ssh/autorized_keys folgendermaßen:
$ touch ~/.ssh/autorized_keys
Nur der Git Der Benutzer hätte die Erlaubnis an die gelesen und schreiben sollen ~/.ssh/autorized_keys Datei.
Führen Sie dazu den folgenden Befehl aus:
$ chmod 600 ~/.ssh/autorized_keys
Wie Sie sehen können, jetzt nur der Benutzer Git hat die Erlaubnis an die gelesen und schreiben ~/.ssh/autorized_keys Datei.
$ ls -lh ~/.ssh/autorized_keys
Hinzufügen von Client Public Key zum Git -Server:
Um auf die GIT -Repositorys auf dem Git -Server zuzugreifen, müssen die Benutzer des Repositorys den Git -Server ihre öffentlichen Schlüssel hinzufügen.
Die Benutzer können ihre SSH -Tasten mit dem folgenden Befehl generieren:
$ ssh-keygen
Drücken Sie .
Drücken Sie .
Drücken Sie .
Der SSH -Schlüssel sollte generiert werden.
Jetzt finden die Benutzer ihren öffentlichen Schlüssel in der ~/.ssh/id_rsa.Pub Datei.
$ cat ~/.ssh/id_rsa.Pub
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.Pub.
Jetzt kann der Serveradministrator den Inhalt des öffentlichen Schlüssels zum öffentlichen Schlüssel hinzufügen ~/.ssh/autorized_keys Datei wie folgt:
$ CAT /TMP /SHOVON-KEY.Pub >> ~//.ssh/autorized_keys
Der öffentliche Schlüssel sollte bis zum Ende der angehängt werden ~/.ssh/autorized_keys Datei.
Erstellen eines leeren Git -Repositorys auf dem Git -Server:
Im Heimverzeichnis der Git Benutzer, wir werden alle unsere Git -Repositorys aufbewahren, auf die autorisierte Personen zugreifen können.
So erstellen Sie ein leeres Git -Repository prüfen Führen Sie auf dem GIT -Server den folgenden Befehl aus:
$ git init -barbart test.Git
Wenn ein autorisierter Benutzer vom Git -Server auf das Git -Repository zugreifen möchte, benötigt er nur der Name 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 finden:
$ nmcli
Die IP -Adresse ist in meinem Fall 192.168.20.129. Es wird für Sie anders sein. Stellen Sie also sicher, dass Sie es von nun an ersetzen.
Ein neues Verzeichnis prüfen.Git sollte auf dem Git -Server erstellt werden.
Zugriff auf Git -Repositories von Git Server:
Jetzt kann ein autorisierter Benutzer auf die zugreifen prüfen GIT -Repository, das wir früher erstellt haben: wie folgt:
$ git klone [email protected]: ~/test.Git
Wenn der Benutzer zum ersten Mal eine Verbindung zum Git -Server herstellt, muss er/sie eingeben Ja und drücke .
Das Git -Repository prüfen sollte geklont werden.
Ein neues Verzeichnis prüfen/ sollte im aktuellen Arbeitsverzeichnis der Benutzer erstellt werden.
Der Benutzer muss wie folgt zum Test/ Verzeichnis navigieren:
$ cd Test/
Nehmen wir an, der Benutzer hat eine neue Datei erstellt.
$ echo "Hallo Welt"> Nachricht.txt
Die Änderungen begangen.
$ git add .
$ git Commit -m 'Erstes Commit' '
$ Git -Protokoll -Einmal
Dann hat der Benutzer die Änderungen auf den Git -Server übertragen.
$ Git Push Origin
Hinzufügen eines anderen 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 -Server -Administrator seinen öffentlichen Schlüssel zu dem hinzufügt ~/.ssh/autorized_keys Datei kann der Benutzer auch auf die Git -Repositories auf dem Server zugreifen.
Sagen wir, Bob will auch an der arbeiten prüfen Git -Repository.
Er kloniert die prüfen Git -Repository auf seinem Computer.
$ git klone [email protected]: ~/test.Git
Bob Typen Ja und drückt .
Der prüfen Das Git -Repository ist kloniert.
Bob navigiert zum prüfen/ Verzeichnis.
Findet das Commit, dass die Person, die an diesem Git -Repository arbeitet.
$ Git -Protokoll -Einmal
Er nimmt einige Änderungen am Projekt vor.
$ echo "Diese Bearbeitung ist von Bob" >> Nachricht.txt
Begeht die Änderungen.
$ git add .
$ echo "Diese Bearbeitung ist von Bob" >> Nachricht.txt
$ Git -Protokoll -Einmal
Bob Drückt die Änderungen am Git -Server.
Nun der andere Benutzer Shovon Zieht die Änderungen (falls vorhanden) an das Git -Repository vom Git -Server.
Shovon findet das neue Commit, das Bob gemacht.
$ cat meldung.txt
So konfigurieren Sie einen Git -Server mit SSH auf CentOS 8 und verwenden ihn. Danke, dass du diesen Artikel gelesen hast.