Per impostare un server GIT per lavorare su SSH, è necessario assicurarsi che SSH sia installato e che sia correttamente in esecuzione.
Innanzitutto, aggiorna la cache del repository CentOS 8 con il seguente comando:
$ sudo dnf makecache
Ora, installa SSH Server con il seguente comando:
$ sudo dnf install -y opensssh
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 seguente.
Se per qualche motivo, il servizio SSH non è in esecuzione per te, puoi avviarlo con il seguente comando:
$ sudo systemctl avvia sshd
Ora, consentire l'accesso alle porte SSH tramite il firewall con il seguente comando:
$ sudo firewall-cmd-sierervice = ssh --permanent
Infine, eseguire il seguente comando per le modifiche alla configurazione del firewall per avere effetto:
$ sudo firewall-cmd--ricarichi
Installazione di git:
Ora puoi installare Git con il seguente comando:
$ sudo dnf installa 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 il 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 aver letto, scrivere ed eseguire l'autorizzazione a ~/.ssh directory.
Per fare ciò, eseguire il seguente comando:
$ chmod 700 ~/.SSH/
Come puoi vedere, ora solo l'utente idiota ha letto, scrivere ed eseguire l'autorizzazione alla directory.
$ ls -ld ~/.SSH/
Ora, crea un nuovo file ~/.SSH/AUTORITED_KEYS come segue:
$ touch ~/.SSH/AUTORITED_KEYS
Solo il idiota L'utente dovrebbe avere l'autorizzazione a leggere e scrivere al ~/.SSH/AUTORITED_KEYS file.
Per fare ciò, eseguire il seguente comando:
$ chmod 600 ~/.SSH/AUTORITED_KEYS
Come puoi vedere, ora solo l'utente idiota ha letto e scrive il permesso al ~/.SSH/AUTORITED_KEYS file.
$ ls -lh ~/.SSH/AUTORITED_KEYS
Aggiunta della chiave pubblica client al server GIT:
Per accedere ai repository Git sul server GIT, gli utenti del repository devono aggiungere le loro chiavi pubbliche al server GIT.
Gli utenti possono generare le loro chiavi SSH con il seguente comando:
$ ssh-keygen
Premere .
Premere .
Premere .
La chiave SSH dovrebbe essere generata.
Ora, gli utenti possono trovare la propria chiave pubblica in ~/.SSH/ID_RSA.pub file.
$ cat ~/.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/Shovon-Key.pub.
Ora, l'amministratore del server può aggiungere il contenuto della chiave pubblica al ~/.SSH/AUTORITED_KEYS file come segue:
$ cat /tmp /shovon-key.Pub >> ~/.SSH/AUTORITED_KEYS
La chiave pubblica dovrebbe essere aggiunta alla fine del ~/.SSH/AUTORITED_KEYS file.
Creazione di un repository GIT vuoto sul server GIT:
Nella directory della casa del idiota utente, conserveremo tutti i nostri repository GIT a cui è possibile accedere alle persone autorizzate.
Per creare un repository GIT vuoto test Sul server GIT, eseguire il seguente comando:
$ git init -Test -battuto.idiota
Se un utente autorizzato desidera 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, eseguire il comando seguente:
$ nmcli
L'indirizzo IP nel mio caso è 192.168.20.129. Sarà diverso per te. Quindi, assicurati di sostituirlo da ora in poi.
Una nuova directory test.idiota dovrebbe essere creato sul server Git.
Accesso ai repository GIT dal server GIT:
Ora, un utente autorizzato può accedere al test Git repository che abbiamo creato in precedenza come segue:
$ git clone [email protected]: ~/test.idiota
Se l'utente si collega al server GIT per la prima volta, dovrà digitare SÌ e premere .
Il repository Git test dovrebbe essere clonato.
Una nuova directory test/ dovrebbe essere creato nella directory di lavoro corrente degli utenti.
L'utente dovrà navigare verso il test/ directory come segue:
$ cd test/
Diciamo che l'utente ha creato un nuovo file.
$ echo "ciao mondo"> messaggio.TXT
Ha commesso le modifiche.
$ git aggiungi .
$ git commit -m "commit iniziale"
$ git log --oneline
Quindi, l'utente ha spinto le modifiche al server GIT.
$ git Push Origin
Aggiunta di un altro membro del team:
Se un altro utente desidera 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 ~/.SSH/AUTORITED_KEYS file, l'utente può accedere anche ai repository GIT sul server.
Diciamo, Bob Vuole anche lavorare sul test Repository git.
Lui clona il test Repository git sul suo computer.
$ git clone [email protected]: ~/test.idiota
Bob tipi in SÌ e preme .
IL test Il repository Git è clonato.
Bob naviga al test/ directory.
Trova il commit che la persona che lavora su questo repository git ha fatto.
$ git log --oneline
Apporta alcune modifiche al progetto.
$ echo "Questa modifica è da Bob" >> messaggio.TXT
Commette i cambiamenti.
$ git aggiungi .
$ echo "Questa modifica è da Bob" >> messaggio.TXT
$ git log --oneline
Bob Spinge le modifiche al server Git.
Ora, l'altro utente Shovon Estrarre le modifiche (se presenti) nel repository Git dal server GIT.
Shovon Trova il nuovo commit che Bob fatto.
$ cat messaggio.TXT
Quindi, è così che configura un server GIT con SSH su CentOS 8 e lo usi. Grazie per aver letto questo articolo.