[root@localhost Desktop]# yum install -y git
adduser git
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/
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
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:
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)?
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.
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.
Ü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"
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.
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
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.
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
Ändern Sie es nach dem letzten Doppelpunkt in:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
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!