Rumah  >  Artikel  >  Tutorial sistem  >  Bina pelayan Git di bawah CentOS

Bina pelayan Git di bawah CentOS

王林
王林ke hadapan
2024-04-15 19:13:011042semak imbas

Bina pelayan Git di bawah CentOS

1 Mula-mula anda perlu memasang Git, anda boleh menggunakan sumber yum untuk memasangnya dalam talian:
[root@localhost Desktop]# yum install -y git
2. Cipta pengguna git untuk menjalankan perkhidmatan git
adduser git
3. Mulakan repositori git:

Di sini kami memilih /data/git/learngit.git sebagai repositori git kami

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

Melaksanakan arahan di atas akan mencipta gudang kosong. Gudang kosong tidak mempunyai ruang kerja Kerana gudang Git pada pelayan adalah semata-mata untuk perkongsian, pengguna tidak dibenarkan log masuk ke pelayan secara langsung untuk menukar ruang kerja. Gudang Git pada pelayan biasanya bermula dengan pengakhiran .git. Kemudian, tukar pemilik kepada git:

[root@localhost git]# chown git:git learngit.git
4 Di sini, pelayan Git hampir siap.

Jom klon gudang jauh pada pelanggan

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:

Dua perkara yang perlu diperhatikan di sini: Pertama, apabila anda menggunakan klon Git atau arahan tekan untuk menyambung ke GitHub buat kali pertama, anda akan mendapat amaran:

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)?

Ini kerana Git menggunakan sambungan SSH, dan apabila sambungan SSH mula-mula mengesahkan Kunci pelayan GitHub, anda perlu mengesahkan sama ada maklumat cap jari Kunci GitHub benar-benar datang daripada pelayan GitHub Hanya masukkan ya dan tekan Enter. Git akan mengeluarkan amaran yang memberitahu anda bahawa Kunci GitHub telah ditambahkan pada senarai amanah pada mesin ini:

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

Amaran ini hanya akan muncul sekali, dan tidak akan ada amaran untuk operasi seterusnya. Jika anda benar-benar bimbang tentang seseorang yang menyamar sebagai pelayan GitHub, sebelum memasukkan ya, anda boleh menyemak sama ada maklumat cap jari RSA Key GitHub konsisten dengan yang diberikan oleh sambungan SSH. Kedua, anda digesa untuk memasukkan kata laluan untuk mengklon Sudah tentu, jika anda tahu kata laluan, anda boleh menaip kata laluan untuk mengklon, tetapi cara yang lebih biasa ialah menggunakan kunci awam SSH untuk melengkapkan pengesahan.

5. Cipta Kunci SSH

Mula-mula, semak jika terdapat direktori .ssh dalam direktori utama pengguna Jika ya, kemudian semak jika terdapat dua fail, id_rsa dan id_rsa.pub, dalam direktori ini langkah.

Jika tidak, buka Shell (buka Git Bash di bawah Windows) dan buat Kunci SSH:

$ ssh-keygen -t rsa -C "youremail@example.com"

Anda perlu menukar alamat e-mel kepada alamat e-mel anda sendiri, kemudian tekan Enter sepenuhnya dan gunakan nilai lalai Memandangkan Kunci ini tidak digunakan untuk tujuan ketenteraan, tidak perlu menetapkan kata laluan. Jika semuanya berjalan lancar, anda boleh mencari direktori .ssh dalam direktori utama pengguna Terdapat dua fail, id_rsa.pub ini adalah pasangan Kunci SSH dan tidak boleh dibocorkan Ia adalah kunci awam dan boleh dikongsi dengan sesiapa sahaja dengan yakin.

6. Hidupkan pengesahan RSA pada pelayan Git

Kemudian anda boleh menambah kunci awam anda pada pelayan Git untuk mengesahkan maklumat anda.

Pada pelayan Git, anda perlu menghidupkan pengesahan RSA terlebih dahulu dalam /etc/ssh/sshd_config, iaitu:

1.RSAAuthentication yes
2.PubkeyAuthentication yes
3.AuthorizedKeysFile .ssh/authorized_keys

Di sini kita dapat melihat bahawa kunci awam disimpan dalam fail .ssh/authorized_keys. Jadi kami mencipta direktori .ssh di bawah /home/git, kemudian mencipta fail authorized_keys dan mengimport kunci awam yang baru dijana ke dalamnya. Kemudian apabila anda mengklon semula, atau apabila anda menolak kemudian, anda tidak perlu memasukkan kata laluan lagi:

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.
7. Lumpuhkan log masuk shell untuk pengguna git

Atas sebab keselamatan, pengguna git yang dibuat dalam langkah kedua tidak dibenarkan untuk log masuk ke shell Ini boleh dilakukan dengan mengedit fail /etc/passwd. Cari baris yang serupa dengan yang berikut:

git:x:1001:1001:,,,:/home/git:/bin/bash

Selepas kolon terakhir, tukar kepada:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell

Dengan cara ini, pengguna git boleh menggunakan git secara normal melalui ssh, tetapi tidak boleh log masuk ke shell, kerana git-shell yang kami tentukan untuk pengguna git akan log keluar secara automatik setiap kali mereka log masuk.

Atas ialah kandungan terperinci Bina pelayan Git di bawah CentOS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:linuxprobe.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam