[root@localhost Desktop]# yum install -y git
adduser 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
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.
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.
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.
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!