Configurando SSH para Git Server:
Para configurar um servidor Git para funcionar em SSH, você deve ter certeza de que o SSH está instalado e funcionando corretamente.
Primeiro, atualize o cache do repositório de pacotes CentOS 8 com o seguinte comando:
$ sudo dnf makecache
Agora, instale o servidor SSH com o seguinte comando:
$ sudo dnf install -y openssh
Deve ser instalado. No meu caso 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 conforme mostrado na captura de tela abaixo.
Se, por algum motivo, o serviço SSH não estiver sendo executado para você, inicie-o com o seguinte comando:
$ sudo systemctl start sshdAgora, permita o acesso às portas SSH por meio do firewall com o seguinte comando:
$ sudo firewall-cmd --add-service = ssh --permanent
Por fim, execute o seguinte comando para que as alterações na configuração do firewall tenham efeito:
$ sudo firewall-cmd --reload
Instalando 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 idiota com o seguinte comando:
$ sudo useradd --create-home --shell / bin / bash git
Agora, faça login como o idiota usuário com o seguinte comando:
$ sudo su - git
Agora, crie um novo diretório ~ /.ssh do seguinte modo:
$ mkdir ~ /.ssh
Apenas o idiota o usuário deve ter permissão de leitura, gravação e execuçã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 idiota tem permissão de leitura, gravação e execução para o diretório.
$ ls -ld ~ /.ssh /
Agora, crie um novo arquivo ~ /.ssh / authorized_keys do seguinte modo:
$ touch ~ /.ssh / authorized_keys
Apenas o idiota o usuário deve ter permissão de leitura e gravação para o ~ /.ssh / authorized_keys Arquivo.
Para fazer isso, execute o seguinte comando:
$ chmod 600 ~ /.ssh / authorized_keys
Como você pode ver, agora apenas o usuário idiota tem permissão de leitura e gravação para o ~ /.ssh / authorized_keys Arquivo.
$ ls -lh ~ /.ssh / authorized_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
Aperte
Aperte
Aperte
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 carregou 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 / authorized_keys arquivo da seguinte forma:
$ cat / tmp / shovon-key.pub >> ~ /.ssh / authorized_keys
A chave pública deve ser anexada ao final do ~ /.ssh / authorized_keys Arquivo.
Criando um repositório Git vazio no servidor Git:
No diretório inicial do idiota usuário, manteremos todos os nossos repositórios Git que pessoas autorizadas podem acessar.
Para criar um repositório Git vazio teste no servidor Git, execute o seguinte comando:
$ git init --bare test.idiota
Se um usuário autorizado deseja 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:
$ nmcliO endereço IP no meu caso é 192.168.20.129. Será diferente para você. Portanto, certifique-se de substituí-lo de agora em diante.
Um novo diretório teste.idiota deve ser criado no servidor Git.
Acessando repositórios Git do servidor Git:
Agora, um usuário autorizado pode acessar o teste Repositório Git que criamos anteriormente da seguinte maneira:
$ git clone git @ 192.168.20.129: ~ / test.idiota
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 deveria ser clonado.
Um novo diretório teste/ deve ser criado no diretório de trabalho atual do usuário.
O usuário terá que navegar até o diretório / teste da seguinte maneira:
$ cd test /
Digamos que o usuário criou um novo arquivo.
$ echo "Olá, mundo"> mensagem.TXT
Cometeu as mudanças.
$ git add .
$ git commit -m 'commit inicial'
$ git log --oneline
Em seguida, o usuário enviou as alterações para o 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 ao administrador do servidor Git. Uma vez que o administrador do servidor Git adiciona sua chave pública ao ~ /.ssh / authorized_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 clona o teste Repositório Git em seu computador.
$ git clone git @ 192.168.20.129: ~ / test.idiota
prumo digita em sim e prensas
O teste Repositório Git clonado.
prumo navega para o teste/ diretório.
Encontra o commit que a pessoa que trabalha neste repositório Git fez.
$ git log --oneline
Ele faz algumas mudanças no projeto.
$ echo "esta edição é de bob" >> mensagem.TXT
Compromete as mudanças.
$ git add .$ echo "esta edição é de bob" >> mensagem.TXT
$ git log --oneline
prumo empurra as mudanças para o servidor Git.
Agora, o outro usuário pá puxa as alterações (se houver) para o repositório Git do servidor Git.
pá encontra o novo commit que prumo feito.
mensagem de $ cat.TXT
Então, é assim que você configura um servidor Git com SSH no CentOS 8 e o usa. Obrigado por ler este artigo.