Rumah > Tutorial sistem > LINUX > teks badan

Bina pelayan Git di bawah CentOS

王林
Lepaskan: 2024-04-15 19:13:01
ke hadapan
999 orang telah melayarinya

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
Salin selepas log masuk
2. Cipta pengguna git untuk menjalankan perkhidmatan git
adduser git
Salin selepas log masuk
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/
Salin selepas log masuk

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
Salin selepas log masuk
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:
Salin selepas log masuk

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)?
Salin selepas log masuk

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.
Salin selepas log masuk

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"
Salin selepas log masuk

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
Salin selepas log masuk

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.
Salin selepas log masuk
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
Salin selepas log masuk

Selepas kolon terakhir, tukar kepada:

git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
Salin selepas log masuk

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!

sumber:linuxprobe.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!