Primeiro de tudo, você precisa verificar a configuração do openssh no servidor Ubuntu: consulte este HowTo .
Então você pode seguir este artigo , que recomenda principalmente:
$ sudo apt-get install python-setuptools
$ mkdir ~/src
$ cd ~/src
$ git clone git://eagain.net/gitosis.git
$ cd gitosis
$ sudo python setup.py install
$ sudo adduser \
--system \
--shell /bin/sh \
--gecos 'git version control' \
--group
--disabled-password \
--home /home/git \
git
entre no seu /etc/ssh/ssh_config
arquivo e adicione git à lista de Usuários Permitidos que podem fazer login.
copie seu id_rsa.pub
arquivo para o seu servidor em algum lugar (em nosso exemplo, estamos usando /tmp
) e execute este comando:
$ sudo -H -u git gitosis-init < /tmp/id_rsa.pub
Initialized empty Git repository in ./
$ sudo chmod 755 /home/git/repositories/gitosis-admin.git/hooks/post-update
Na sua máquina local, teste-a com o seguinte:
git clone git@YOUR_SERVER:gitosis-admin.git
Configure gitosis para um novo projeto. Use seu editor favorito para criar um novo bloco sob o de gitosis. Deve ficar assim:
[group myrailsapp]
members = myNameAsInTheRsa.pub
writable = myNewApp
Algumas coisas para observar no bloco acima.
Primeiro, verifique se o seu nome corresponde ao que está na sua chave pública (ou seja, abra o arquivo id_rsa.pub e veja o que o nome diz.
Segundo, verifique se você escreve corretamente a escrita!
Quando terminar, confirme e envie as alterações para o servidor.
$ git commit -a -m "created a new repository!"
$ git push
eagain.net
, poderá usar o Github.Sua melhor maneira de fazer isso seria executar um servidor ssh e limitar seus usuários a usar
git-shell
no shell de logon. Você pode instalar um servidor ssh corretamente executando um dos seguintes comandos, se ainda não estiver instalado.ou
Em seguida, adicione
/usr/bin/git-shell
a/etc/shells
, fazendoEm seguida, use o em
git-shell
vez debash
como seu shell de usuário. Isso restringirá o usuário a apenas poder executargit
operações ao efetuar login no servidor, em vez de fornecer ao usuário uma descrição completa ..fonte