Configurar servidor Git com SSH no Ubuntu

Se tiver um pequeno número de membros da equipa a trabalhar em alguns projectos, então pode configurar um servidor Git via SSH no seu escritório e trabalhar em projectos como uma equipa muito facilmente. Não tem de usar GitHub ou quaisquer outros serviços nesse caso. O servidor Git baseado em SSH é realmente fácil de configurar e utilizar. Neste artigo, vou mostrar-vos como configurar um servidor Git com SSH no Ubuntu e como utilizá-lo. Portanto, vamos começar.

Nesta secção, vou mostrar-vos como configurar um servidor Ubuntu como um servidor Git acessível por SSH.
Primeiro, actualize a cache do repositório de pacotes APT com o seguinte comando:

$ sudo apt update

A cache do repositório de pacotes APT deve ser actualizada.

Agora, instalar o servidor OpenSSH e o Git com o seguinte comando:

$ sudo apt install openssh-server git

Now, prima Y e depois prima <Enter> para confirmar a instalação.

ServidorOpenSSH e Git devem ser instalados.

Agora, criar um novo git de utilizador com o seguinte comando:

$ sudo useradd –create-home –shell /bin/bash git

Todos os repositórios Git serão guardados no directório home do utilizador /home/git do git.

Agora, iniciar sessão como utilizador do git com o seguinte comando:

$ sudo su – git

Agora, criar um novo directório .ssh com o seguinte comando:

$ mkdir .ssh

Agora, permitir apenas que o utilizador git tenha permissões de leitura, escrita e execução no directório .ssh/ como segue:

$ chmod 700 .ssh/

Como pode ver, o utilizador do git só tem permissões de leitura (r), de escrita (w), de execução (x) no directório .ssh/ directório.

$ ls -ld .ssh/

Agora, crie um novo ficheiro vazio .ssh/authorized_keys as follows:

$ touch .ssh/authorized_keys

Apenas permitir ler e escrever no ficheiro do utilizador do git como se segue:

$ chmod 600 .ssh/authorized_keys

Como pode ver, apenas o utilizador do git tem permissões de leitura (r) e escrita (w) no ficheiro .ssh/authorized_keys.

No ficheiro .ssh/authorized_keys file, tem de adicionar a chave pública dos utilizadores a quem pretende aceder aos repositórios Git no servidor Git.

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

Para aceder aos repositórios Git no servidor Git, o cliente tem de adicionar a sua chave pública ao servidor Git.

O cliente pode gerar um par de chaves públicas-privadas como se segue:

$ ssh-keygen

Press <Enter>.

p>Prensa <Enter>.

p>

p>Prensa <Enter>.

p>p>Prensa <Enter>

Agora, o cliente pode encontrar a sua chave pública da seguinte forma:

$ cat ~/.ssh/id_rsa.pub

A chave pública do cliente deve ser impressa. Agora, o cliente pode enviar esta chave pública para o gestor (que gere o servidor Git). O gestor pode então adicionar a chave pública ao servidor de Git. Depois o cliente pode aceder ao servidor de Git.

p>P>Vamos dizer, o cliente enviou a sua chave pública ao gestor do servidor de Git. O gestor carregou a chave pública para /tmp/shovon-key.pub file no servidor Git.

Agora, o gestor do servidor de Git pode adicionar a chave pública do cliente da seguinte forma:

$ cat /tmp/shovon-key.pub >> ~/.ssh/authorized_keys

Agora, o ficheiro .ssh/authorized_keys deve ter a chave pública do cliente.

Criar Repositórios Git no Servidor:

Os clientes não podem criar novos repositórios Git no servidor. O gestor do servidor de Git deve criar um repositório no servidor. Depois, os clientes podem clonar, empurrar/puxar a partir do repositório.

Agora, criar um novo testrepo de repositório Git vazio no servidor Git, como se segue:

$ git init –bare testrepo

Agora, o cliente só precisa de saber o endereço IP do servidor Git para aceder ao repositório testrepo Git.

O gestor do servidor Git pode encontrar esta informação da seguinte forma:

$ ip a

Como se pode ver, o endereço IP do servidor Git é 192.168.21.185. Agora, o gestor do servidor pode dizê-lo aos clientes que irão trabalhar no projecto.

Clonando o Repositório Git a partir do Servidor:

Após o cliente conhecer o endereço IP e o nome do repositório Git, pode cloná-lo para o seu computador como se segue:

$ git clone [email protected]:~/>testrepo

p> Agora, digite sim e prima <Enter>. Terá de fazer isto uma vez, apenas da primeira vez.

O repositório testrepo Git deve ser clonado a partir do servidor.

Deverá ser criado um novo directório testrepo.

Fazer Alterações e Empurrar Alterações ao Servidor Git:

Agora, o cliente pode adicionar commits ao repositório testrepo/ testrepo e empurrar as alterações para o servidor Git.

$ cd testrepo/

$ echo “Hello world” > test.txt

$ git add .

$ git commit -m ‘commit’
br>$ git push origin

Adicionar um novo membro da equipa:

Agora, digamos, bob quer contribuir para o repositório testrepo Git.

Tudo o que ele tem de fazer é gerar um par de chaves SSH e enviar a chave pública para o gestor do servidor Git.

$ ssh-keygen

Após o gestor do servidor Git ter a chave pública de bob, ele pode carregá-la para o servidor Git e adicioná-la ao .ssh/authorized_keys file as follows:

$ cat /tmp/bob-key.pub >> ~/.ssh/authorized_keys

Now, bob pode clonar o repositório testrepo Git a partir do servidor como se segue:

$ git clone [email protected]:~/testrepo

testrepo deve ser clonado.

Um novo directório testrepo deve ser criado no computador do bob.

Agora, bob pode navegar para o repositório Git da seguinte forma:

$ cd testrepo/

Ele deve encontrar alguns compromissos existentes.

$ git log

Agora, Bob pode fazer o seu próprio trabalho e comprometê-lo. Depois, empurre as alterações ao servidor.

$ echo “Hello World 2” >> teste.txt

$ git add .
$ git commit -m ‘Changed message’

$ git push origin

Now, outras pessoas que trabalham no mesmo repositório podem puxar as alterações como se segue:

$ git pull origin

Ele/ela deve encontrar os compromissos que o bob fez.

Assim, é assim que se configura um Servidor Git com SSH no Ubuntu e se o utiliza. Obrigado por ler este artigo.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *