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.