Configurazione di SSH per Git Server:
Per configurare un server Git in modo che funzioni su SSH, devi assicurarti che SSH sia installato e funzioni correttamente.
Innanzitutto, aggiorna la cache del repository del pacchetto CentOS 8 con il seguente comando:
$ sudo dnf makecache
Ora installa il server SSH con il seguente comando:
$ sudo dnf install -y openssh
Dovrebbe essere installato. Nel mio caso era già installato.
Ora, controlla se il servizio SSH è in esecuzione con il seguente comando:
$ sudo systemctl status sshd
Il servizio SSH dovrebbe essere in esecuzione come mostrato nello screenshot qui sotto.
Se per qualche motivo, il servizio SSH non è in esecuzione per te, puoi avviarlo con il seguente comando:
$ sudo systemctl start sshdOra, consenti l'accesso alle porte SSH attraverso il firewall con il seguente comando:
$ sudo firewall-cmd --add-service=ssh --permanent
Infine, esegui il seguente comando per rendere effettive le modifiche alla configurazione del firewall:
$ sudo firewall-cmd --reload
Installazione di Git:
Ora puoi installare Git con il seguente comando:
$ sudo dnf install git
Per confermare l'installazione, premere Y e quindi premere
Git dovrebbe essere installato.
Creazione di un utente dedicato per l'hosting di repository Git:
Ora crea un utente dedicato idiota con il seguente comando:
$ sudo useradd --create-home --shell /bin/bash git
Ora, accedi come idiota utente con il seguente comando:
$ sudo su - git
Ora crea una nuova directory ~/.ssh come segue:
$ mkdir ~/.ssh
Solo il idiota l'utente dovrebbe avere il permesso di lettura, scrittura ed esecuzione per il ~/.ssh directory.
Per farlo, esegui il seguente comando:
$ chmod 700 ~/.ssh/
Come puoi vedere, ora solo l'utente idiota ha i permessi di lettura, scrittura ed esecuzione per la directory.
$ ls -ld ~/.ssh/
Ora crea un nuovo file ~/.ssh/chiave_autorizzate come segue:
$ tocco ~/.ssh/chiave_autorizzate
Solo il idiota l'utente dovrebbe avere il permesso di lettura e scrittura per ~/.ssh/chiave_autorizzate file.
Per farlo, esegui il seguente comando:
$ chmod 600 ~/.ssh/chiave_autorizzate
Come puoi vedere, ora solo l'utente idiota ha il permesso di lettura e scrittura per il ~/.ssh/chiave_autorizzate file.
$ ls -lh ~/.ssh/chiave_autorizzate
Aggiunta della chiave pubblica del client al server Git:
Per accedere ai repository git sul server Git, gli utenti del repository devono aggiungere le proprie chiavi pubbliche al server Git.
Gli utenti possono generare le proprie chiavi SSH con il seguente comando:
$ ssh-keygen
stampa
stampa
stampa
La chiave SSH dovrebbe essere generata.
Ora, gli utenti possono trovare la loro chiave pubblica nel ~/.ssh/id_rsa.pub file.
$ gatto ~/.ssh/id_rsa.pub
Ora, gli utenti dovrebbero inviare le loro chiavi pubbliche all'amministratore del server Git e l'amministratore del server può aggiungere queste chiavi al server Git.
Diciamo che l'amministratore del server ha caricato il file della chiave pubblica sul server Git. Il file è nel percorso /tmp/chiave-shovon.pub.
Ora, l'amministratore del server può aggiungere il contenuto della chiave pubblica al ~/.ssh/chiave_autorizzate file come segue:
$ cat /tmp/shovon-key.pub >> ~/.ssh/chiave_autorizzate
La chiave pubblica deve essere aggiunta alla fine del ~/.ssh/chiave_autorizzate file.
Creazione di un repository Git vuoto sul server Git:
Nella home directory del idiota utente, manterremo tutti i nostri repository Git a cui le persone autorizzate possono accedere.
Per creare un repository Git vuoto test sul server Git, esegui il seguente comando:
$ git init --bare test.idiota
Se un utente autorizzato vuole accedere al repository Git dal server Git, tutto ciò di cui ha bisogno è il nome del repository Git e l'indirizzo IP del server Git.
Per trovare l'indirizzo IP del server Git, esegui il seguente comando:
$ nmcliL'indirizzo IP nel mio caso è 192.168.20.129. Sarà diverso per te. Quindi, assicurati di sostituirlo d'ora in poi.
Una nuova directory test.idiota dovrebbe essere creato sul server Git.
Accesso ai repository Git da Git Server:
Ora, un utente autorizzato può accedere al test Il repository Git che abbiamo creato in precedenza come segue:
$ git clone [email protected]:~/prova.idiota
Se l'utente si connette al server Git per la prima volta, dovrà digitare sì e premi
Il repository Git test dovrebbe essere clonato.
Una nuova directory test/ dovrebbe essere creato nella directory di lavoro corrente dell'utente.
L'utente dovrà navigare nella directory test/ come segue:
$ cd prova/
Diciamo che l'utente ha creato un nuovo file.
$ echo "Ciao mondo" > messaggio.TXT
Confermato le modifiche.
$ git add .
$ git commit -m 'commit iniziale'
$ git log --oneline
Quindi, l'utente ha inviato le modifiche al server Git.
$ git push origine
Aggiunta di un altro membro del team:
Se un altro utente vuole accedere al test del repository Git, dovrà generare una chiave SSH e inviare la chiave pubblica all'amministratore del server Git. Una volta che l'amministratore del server Git aggiunge la sua chiave pubblica al to ~/.ssh/chiave_autorizzate file, l'utente può accedere anche ai repository Git sul server.
Diciamo, bob vuole anche lavorare sul test Archivio Git.
Lui clona il test repository Git sul suo computer.
$ git clone [email protected]:~/prova.idiota
bob digita in sì e preme
Il test Il repository Git è clonato.
bob naviga verso il test/ directory.
Trova il commit che ha fatto la persona che lavora su questo repository Git.
$ git log --oneline
Apporta alcune modifiche al progetto.
$ echo "questa modifica è di bob" >> messaggio.TXT
Conferma le modifiche.
$ git add .$ echo "questa modifica è di bob" >> messaggio.TXT
$ git log --oneline
bob invia le modifiche al server Git.
Ora, l'altro utente shovon estrae le modifiche (se presenti) al repository Git dal server Git.
shovon trova il nuovo commit che bob fatto.
$ messaggio di gatto.TXT
Quindi, è così che configuri un server Git con SSH su CentOS 8 e lo usi. Grazie per aver letto questo articolo.