Configure o Git Server com SSH no CentOS 8

Configure o Git Server com SSH no CentOS 8
Se você tem uma pequena empresa de tecnologia, pode configurar um servidor Git baseado em SSH para que as pessoas que trabalham em um projeto possam colaborar entre si. Neste artigo, vou mostrar como configurar um servidor Git com SSH no CentOS 8. Então vamos começar.

Configurando SSH para servidor Git:

Para configurar um servidor Git para funcionar sobre o SSH, você deve garantir que o SSH esteja instalado e está funcionando corretamente.

Primeiro, atualize o cache do repositório de pacotes do CentOS 8 com o seguinte comando:

$ sudo dnf makecache

Agora, instale o SSH Server com o seguinte comando:

$ sudo dnf install -y openssh

Deve ser instalado. No meu caso, ele já estava instalado.

Agora, verifique se o serviço SSH está sendo executado com o seguinte comando:

$ sudo systemctl status sshd

O serviço SSH deve estar em execução como mostrado na captura de tela abaixo.

Se, por algum motivo, o serviço SSH não estiver em execução para você, você pode iniciá -lo com o seguinte comando:

$ sudo systemctl start sshd

Agora, permita o acesso às portas SSH através do firewall com o seguinte comando:

$ sudo firewall-cmd --Add-Service = ssh --permanente

Por fim, execute o seguinte comando para as mudanças de configuração do firewall para entrar em vigor:

$ sudo firewall-cmd--reload

Instalando o Git:

Agora, você pode instalar o Git com o seguinte comando:

$ sudo dnf install git

Para confirmar a instalação, pressione Y e depois pressione .

Git deve ser instalado.

Criando um usuário dedicado para hospedar repositórios Git:

Agora, crie um usuário dedicado git com o seguinte comando:

$ sudo userAdd --create-home-shell /bin /bash git

Agora, faça o login como o git Usuário com o seguinte comando:

$ sudo su - git

Agora, crie um novo diretório ~/.ssh do seguinte modo:

$ mkdir ~/.ssh

Apenas o git O usuário deveria ter lido, escrever e executar permissão para o ~/.ssh diretório.

Para fazer isso, execute o seguinte comando:

$ chmod 700 ~//.ssh/

Como você pode ver, agora apenas o usuário git leu, escreva e execute permissão para o diretório.

$ ls -ld ~/.ssh/

Agora, crie um novo arquivo ~/.ssh/autorizado_keys do seguinte modo:

$ touch ~//.ssh/autorizado_keys

Apenas o git O usuário deve ter lido e escrever permissão para o ~/.ssh/autorizado_keys arquivo.

Para fazer isso, execute o seguinte comando:

$ chmod 600 ~//.ssh/autorizado_keys

Como você pode ver, agora apenas o usuário git leu e escreva permissão para o ~/.ssh/autorizado_keys arquivo.

$ ls -lh ~/.ssh/autorizado_keys

Adicionando a chave pública do cliente ao servidor Git:

Para acessar os repositórios Git no servidor Git, os usuários do repositório devem adicionar suas chaves públicas ao servidor Git.

Os usuários podem gerar suas chaves SSH com o seguinte comando:

$ ssh-keygen

Imprensa .

Imprensa .

Imprensa .

A chave SSH deve ser gerada.

Agora, os usuários podem encontrar sua chave pública no ~/.ssh/id_rsa.bar arquivo.

$ cat ~//.ssh/id_rsa.bar

Agora, os usuários devem enviar suas chaves públicas para o administrador do servidor Git e o administrador do servidor pode adicionar essas chaves ao servidor Git.

Digamos que o administrador do servidor enviou o arquivo de chave pública para o servidor Git. O arquivo está no caminho /TMP/Shovon-Key.bar.

Agora, o administrador do servidor pode adicionar o conteúdo da chave pública ao ~/.ssh/autorizado_keys Arquivo o seguinte:

$ cat /tmp /shovon-chave.pub >> ~///.ssh/autorizado_keys

A chave pública deve ser anexada ao fim do ~/.ssh/autorizado_keys arquivo.

Criando um repositório Git vazio no servidor Git:

No diretório doméstico do git Usuário, manteremos todos os nossos repositórios Git que as pessoas autorizadas podem acessar.

Para criar um repositório Git vazio teste No servidor Git, execute o seguinte comando:

$ git init -teste de bar.git

Se um usuário autorizado quiser acessar o repositório Git do servidor Git, tudo o que ele precisa é o nome do repositório Git e o endereço IP do servidor Git.

Para encontrar o endereço IP do servidor Git, execute o seguinte comando:

$ nmcli

O endereço IP no meu caso é 192.168.20.129. Vai ser diferente para você. Então, certifique -se de substituí -lo de agora em diante.

Um novo diretório teste.git deve ser criado no servidor Git.

Acessando repositórios Git do Git Server:

Agora, um usuário autorizado pode acessar o teste Repositório Git que criamos anteriormente da seguinte forma:

$ git clone [email protected]: ~/teste.git

Se o usuário estiver se conectando ao servidor Git pela primeira vez, ele terá que digitar sim e pressione .

O repositório Git teste deve ser clonado.

Um novo diretório teste/ deve ser criado no diretório de trabalho atual dos usuários.

O usuário terá que navegar para o teste/ diretório da seguinte forma:

$ cd teste/

Digamos que o usuário criou um novo arquivo.

$ eco "Hello World"> Mensagem.TXT

Cometeu as mudanças.

$ git add .

$ git commit -m 'Commits inicial'

$ git log --oneeline

Em seguida, o usuário empurrou as alterações no servidor Git.

$ Git Push Origin

Adicionando outro membro da equipe:

Se outro usuário quiser acessar o teste do repositório Git, ele terá que gerar uma chave SSH e enviar a chave pública para o administrador do servidor Git. Uma vez que o administrador do servidor Git adiciona sua chave pública ao ~/.ssh/autorizado_keys Arquivo, o usuário também pode acessar os repositórios Git no servidor.

Digamos, prumo também quer trabalhar no teste Repositório Git.

Ele clara o teste Repositório Git em seu computador.

$ git clone [email protected]: ~/teste.git

prumo tipos em sim e prensas .

O teste O repositório Git é clonado.

prumo navega para o teste/ diretório.

Encontra o compromisso que a pessoa que trabalha neste repositório Git fez.

$ git log --oneeline

Ele faz algumas alterações no projeto.

$ echo "Esta edição é de bob" >> mensagem.TXT

Comete as mudanças.

$ git add .
$ echo "Esta edição é de bob" >> mensagem.TXT
$ git log --oneeline

prumo empurra as alterações no servidor Git.

Agora, o outro usuário Shovon puxa as alterações (se houver) para o repositório Git do servidor Git.

Shovon encontra o novo compromisso que prumo feito.

$ CAT mensagem.TXT

Então, é assim que você configura um servidor Git com SSH no CentOS 8 e o usa. Obrigado por ler este artigo.