Nesta seção, vou mostrar como configurar um servidor Ubuntu como um servidor Git acessível SSH.
Primeiro, atualize o cache do repositório de pacotes apt com o seguinte comando:
$ sudo apt update
O cache do repositório de pacotes apt deve ser atualizado.
Agora, instale o OpenSsh Server e Git com o seguinte comando:
$ sudo apt install OpenSsh-Server Git
Agora, pressione Y e depois pressione Para confirmar a instalação.
O OpenSsh Server e Git devem ser instalados.
Agora, crie um novo usuário git com o seguinte comando:
$ sudo userAdd --create-home-shell /bin /bash git
Todos os repositórios Git serão salvos no diretório inicial do git do utilizador /Home/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 com o seguinte comando:
$ mkdir .ssh
Agora, permita apenas git Usuário para ler, escrever, executar permissões no diretório .ssh/ do seguinte modo:
$ chmod 700 .ssh/
Como você pode ver, o git O usuário só leu (r), grava (w), execute (x) permissões no .ssh/ diretório.
$ ls -ld .ssh/
Agora, crie um novo arquivo vazio .ssh/autorizado_keys do seguinte modo:
$ touch .ssh/autorizado_keys
Permitir apenas ler e gravar no arquivo do git Usuário da seguinte maneira:
$ chmod 600 .ssh/autorizado_keys
Como você pode ver, apenas o git O usuário leu (r) e grava (w) permissões para o arquivo .ssh/autorizado_keys.
No .ssh/autorizado_keys arquivo, você deve adicionar a chave pública dos usuários a quem deseja acessar os repositórios Git no servidor Git.
Adicionando a chave pública do cliente ao servidor Git:
Para acessar os repositórios Git no servidor Git, o cliente deve adicionar sua chave pública ao servidor Git.
O cliente pode gerar um par de teclas público-privado da seguinte forma:
$ ssh-keygen
Imprensa .
Imprensa .
Imprensa .
Imprensa .
Agora, o cliente pode encontrar sua chave pública da seguinte forma:
$ cat ~//.ssh/id_rsa.bar
A chave pública do cliente deve ser impressa. Agora, o cliente pode enviar esta chave pública para o gerente (que gerencia o servidor Git). O gerente pode então adicionar a chave pública ao servidor Git. Então o cliente pode acessar o servidor Git.
Digamos que o cliente enviou sua chave pública para o Git Server Manager. O gerente enviou a chave pública para /TMP/Shovon-Key.bar arquivo no servidor Git.
Agora, o Git Server Manager pode adicionar a chave pública do cliente da seguinte forma:
$ cat /tmp /shovon-chave.pub >> ~///.ssh/autorizado_keys
Agora o .ssh/autorizado_keys o arquivo deve ter a chave pública do cliente.
Criando repositórios Git no servidor:
Os clientes não podem criar novos repositórios Git no servidor. O gerenciador do Git Server deve criar um repositório no servidor. Então, os clientes podem clonar, empurrar/puxar do repositório.
Agora, crie um novo repositório Git vazio Testrepo No servidor Git da seguinte forma:
$ git init -bare testrepo
Agora, o cliente só precisa saber o endereço IP do servidor Git para acessar o Testrepo Repositório Git.
O gerenciador do Git Server pode encontrar essas informações da seguinte forma:
$ ip a
Como você pode ver, o endereço IP do servidor Git é 192.168.21.185. Agora, o gerenciador de servidores pode contar aos clientes que estarão trabalhando no projeto.
Repositório Git de clonagem do servidor:
Depois que o cliente conhece o endereço IP e o nome do repositório Git, ele pode cloná -lo no seu computador da seguinte forma:
$ git clone [email protected]: ~/> testrepo
Agora, digite sim e pressione . Você precisará fazer isso uma vez, apenas na primeira vez.
O Testrepo O repositório Git deve ser clonado do servidor.
Um novo diretório Testrepo deve ser criado.
Fazendo alterações e empurrando alterações no servidor Git:
Agora, o cliente pode adicionar compromissos com o testrepo/ repositório e empurre as alterações no servidor Git.
$ CD testRepo/
$ eco "Hello World"> Teste.TXT
$ git add .
$ git commit -m 'Commits inicial'
[/cc [
[CC Lang = "Bash"]
$ Git Push Origin
Adicionando um novo membro da equipe:
Agora, digamos, prumo quer contribuir para o Testrepo Repositório Git.
Tudo o que ele precisa fazer é gerar um par de chaves ssh e enviar a chave pública para o Git Server Manager.
$ ssh-keygen
Uma vez que o gerenciador de servidor Git tenha a chave pública de prumo, Ele pode carregá -lo para o servidor Git e adicioná -lo ao .ssh/autorizado_keys Arquivo o seguinte:
$ cat /tmp /bob-key.pub >> ~///.ssh/autorizado_keys
Agora, prumo pode clonar o Testrepo Repositório Git do servidor da seguinte forma:
$ git clone [email protected]: ~/testrepo
Testrepo deve ser clonado.
Um novo diretório Testrepo deve ser criado no computador de Bob.
Agora, Bob pode navegar para o repositório Git da seguinte forma:
$ CD testRepo/
Ele deve encontrar algumas confirmações existentes.
$ git log
Agora, prumo pode fazer seu próprio trabalho e cometê -lo. Em seguida, empurre as alterações no servidor.
$ eco "Hello World 2" >> teste.TXT
$ git add .
$ git Commit -m 'Mensagem alterada'
$ Git Push Origin
Agora, outras pessoas que trabalham no mesmo repositório podem fazer as alterações da seguinte forma:
$ Git Pull Origin
Ele/ela deve encontrar os compromissos que prumo feito.
Então, é assim que você configura um servidor Git com SSH no Ubuntu e usa -o. Obrigado por ler este artigo.