Heim > System-Tutorial > LINUX > Erstellen Sie einen Git-Server unter CentOS

Erstellen Sie einen Git-Server unter CentOS

王林
Freigeben: 2024-04-15 19:13:01
nach vorne
1180 Leute haben es durchsucht

Erstellen Sie einen Git-Server unter CentOS

1. Zuerst müssen Sie Git installieren. Sie können Yum Source verwenden, um es online zu installieren:
[root@localhost Desktop]# yum install -y git
Nach dem Login kopieren
2. Erstellen Sie einen Git-Benutzer, um den Git-Dienst auszuführen
adduser git
Nach dem Login kopieren
3. Git-Repository initialisieren:

Hier wählen wir /data/git/learngit.git als unser Git-Repository

[root@localhost git]# git init --bare learngit.git
Initialized empty Git repository in /data/git/learngit.git/
Nach dem Login kopieren

Durch Ausführen des obigen Befehls wird ein Bare-Warehouse erstellt. Da das Git-Warehouse auf dem Server nur zur gemeinsamen Nutzung dient, dürfen sich Benutzer nicht direkt am Server anmelden, um den Arbeitsbereich zu ändern Das Git-Warehouse auf dem Server beginnt normalerweise mit der Endung .git. Ändern Sie dann den Besitzer in git:

[root@localhost git]# chown git:git learngit.git
Nach dem Login kopieren
4. Hier ist der Git-Server fast fertig.

Klonen wir das Remote-Warehouse auf dem Client

Zhu@XXX /E/testgit/8.34
$ git clone git@192.168.8.34:/data/git/learngit.git
Cloning into 'learngit'...
The authenticity of host '192.168.8.34 (192.168.8.34)' can't be established.
RSA key fingerprint is 2b:55:45:e7:4c:29:cc:05:33:78:03:bd:a8:cd:08:9d.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.8.34' (RSA) to the list of known hosts.
git@192.168.8.34's password:
Nach dem Login kopieren

Zwei Punkte, die Sie hier beachten sollten: Erstens, wenn Sie den Clone- oder Push-Befehl von Git zum ersten Mal verwenden, um eine Verbindung zu GitHub herzustellen, erhalten Sie eine Warnung:

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.
RSA key fingerprint is xx.xx.xx.xx.xx.
Are you sure you want to continue connecting (yes/no)?
Nach dem Login kopieren

Das liegt daran, dass Git eine SSH-Verbindung verwendet. Wenn die SSH-Verbindung zum ersten Mal den Schlüssel des GitHub-Servers überprüft, müssen Sie bestätigen, ob die Fingerabdruckinformationen des GitHub-Schlüssels wirklich vom GitHub-Server stammen. Geben Sie einfach „Ja“ ein und drücken Sie die Eingabetaste. Git gibt eine Warnung aus, die Sie darüber informiert, dass der GitHub-Schlüssel zu einer Vertrauensliste auf diesem Computer hinzugefügt wurde:

Warning: Permanently added 'github.com' (RSA) to the list of known hosts.
Nach dem Login kopieren

Diese Warnung wird nur einmal angezeigt und es werden keine Warnungen für nachfolgende Vorgänge angezeigt. Wenn Sie wirklich befürchten, dass sich jemand als GitHub-Server ausgibt, können Sie vor der Eingabe von „Ja“ überprüfen, ob die Fingerabdruckinformationen des RSA-Schlüssels von GitHub mit denen der SSH-Verbindung übereinstimmen. Zweitens werden Sie aufgefordert, ein Passwort zum Klonen einzugeben. Wenn Sie das Passwort kennen, können Sie es natürlich zum Klonen eingeben, aber die üblichere Methode ist die Verwendung des öffentlichen SSH-Schlüssels, um die Überprüfung abzuschließen.

5. SSH-Schlüssel erstellen

Überprüfen Sie zunächst, ob sich im Home-Verzeichnis des Benutzers ein .ssh-Verzeichnis befindet. Wenn ja, prüfen Sie, ob sich in diesem Verzeichnis zwei Dateien befinden, id_rsa und id_rsa.pub. Wenn diese bereits vorhanden sind, können Sie direkt zum nächsten springen Schritt.

Wenn nicht, öffnen Sie Shell (öffnen Sie Git Bash unter Windows) und erstellen Sie einen SSH-Schlüssel:

$ ssh-keygen -t rsa -C "youremail@example.com"
Nach dem Login kopieren

Sie müssen die E-Mail-Adresse in Ihre eigene E-Mail-Adresse ändern, dann die Eingabetaste drücken und den Standardwert verwenden. Da dieser Schlüssel nicht für militärische Zwecke verwendet wird, ist es nicht erforderlich, ein Passwort festzulegen. Wenn alles gut geht, finden Sie das .ssh-Verzeichnis im Home-Verzeichnis des Benutzers. Es gibt zwei Dateien, id_rsa und id_rsa.pub Es handelt sich um einen öffentlichen Schlüssel, der vertraulich mit jedem geteilt werden kann.

6. Aktivieren Sie die RSA-Authentifizierung auf dem Git-Server

Dann können Sie Ihren öffentlichen Schlüssel zum Git-Server hinzufügen, um Ihre Informationen zu überprüfen.

Auf dem Git-Server müssen Sie zunächst die RSA-Authentifizierung in /etc/ssh/sshd_config aktivieren, das heißt:

1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys
Nach dem Login kopieren

Hier können wir sehen, dass der öffentliche Schlüssel in der Datei .ssh/authorized_keys gespeichert ist. Also erstellen wir das .ssh-Verzeichnis unter /home/git, erstellen dann die Datei „authorized_keys“ und importieren den neu generierten öffentlichen Schlüssel hinein. Wenn Sie dann erneut klonen oder später drücken, müssen Sie das Passwort nicht erneut eingeben:

Zhu@XXX/E/testgit/8.34
$ git clone git@192.168.8.34:/data/git/learngit.git
Cloning into 'learngit'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Nach dem Login kopieren
7. Deaktivieren Sie die Shell-Anmeldung für Git-Benutzer

Aus Sicherheitsgründen darf sich der im zweiten Schritt erstellte Git-Benutzer nicht bei der Shell anmelden. Dies kann durch Bearbeiten der Datei /etc/passwd erfolgen. Suchen Sie eine Zeile ähnlich der folgenden:

git:x:1001:1001:,,,:/home/git:/bin/bash
Nach dem Login kopieren

Ändern Sie es nach dem letzten Doppelpunkt in:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
Nach dem Login kopieren

Auf diese Weise können Git-Benutzer Git normal über SSH verwenden, sich jedoch nicht bei der Shell anmelden, da die Git-Shell, die wir für Git-Benutzer angegeben haben, sich bei jeder Anmeldung automatisch abmeldet.

Das obige ist der detaillierte Inhalt vonErstellen Sie einen Git-Server unter CentOS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:linuxprobe.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage