2012-09-27 24 views
7

Estoy tratando de ejecutar un repositorio de git server. lo hice instalar gitolitegit clone git @ myserver: gitolite-admin falla

cuando se ejecuta Información Git a través de ssh al servidor responde

ssh [email protected] info 

hello Brian, this is [email protected] running gitolite3 on git 1.6.3.2 
R W testing 

Al intentar clonar el repositorio gitolite-admin me sale el siguiente error

git clone [email protected]:gitolite-admin 

Cloning into 'gitolite-admin'... 
FATAL: R any gitolite-admin Brian DENIED by fallthru 
(or you mis-spelled the reponame) 
fatal: The remote end hung up unexpectedly 

Lo mismo sucede con esta sintaxis

git clone ssh://[email protected]/gitolite-admin 
Cloning into 'gitolite-admin'... 
FATAL: R any gitolite-admin Brian DENIED by fallthru 
(or you mis-spelled the reponame) 
fatal: The remote end hung up unexpectedly 

Cann any give ¿Me da algunos consejos útiles? Revisé las respuestas aquí y en la web, pero no encontré nada que me ayudara más.

Respuesta

8

gitolite-admin sólo se puede acceder con la clave pública lleva el nombre de la cuenta git utilizado para el servidor gitolite.

Estás utilizando de forma predeterminada tu brian.pub, que solo te da acceso al testing.git repo.

necesita definir un archivo $HOME/.ssh/config en su estación de trabajo local, con el fin de registrar los parámetros ssh para usar la tecla derecha.
Ver "gitolite: can connect via ssh, can't clone".

~/.ssh/gitolite.pub 
~/.ssh/gitolite 

Luego defino un archivo de configuración: ~/.ssh/config con en ella:

host gitolite 
    user git # replace it by the actual git user for the gitolite server 
    hostname server.com 
    identityfile ~/.ssh/gitolite 

El clon funcionará:

git clone gitolite:gitolite-admin 

El OP macbert confirma:

me hicieron cambiar el nombre de la clave de git.pub, corrieron gitolite setup -pk git.pub y se retira el viejo brian llave del .gitolite/keydir.
Después de que me dieron git clone [email protected]:gitolite-admin:

Cloning into 'gitolite-admin'... 
remote: Counting objects: 15, done. 
remote: Compressing objects: 100% (12/12), done. 
remote: Total 15 (delta 0), reused 0 (delta 0) 
Receiving objects: 100% (15/15), done. 

Así, con la clave predeterminada derecha, un ssh [email protected] info debería mostrar este momento el derecho de acceso a gitolite-admin repo en el 'hola' mensaje.

+0

ah buena pista - esto funciona git clone git @ myserver: testing.git clonando en 'pruebas' ... advertencia: Parece que ha clonado un repositorio vacío. ¿cómo podría cambiar esto? En esta guía se ve a mi como la llave podría tener cualquier nombre: $ mkdir bin $ gitolite/ln instalar $ gitolite configuración -PK sena.pub ya iniciada repositorio Git vacío en/home/gitolite/repositorios/gitolite -admin.git/ Repositorio de Git vacío inicializado en /home/gitolite/repositories/testing.git/ ADVERTENCIA: falta /home/gitolite/.ssh/authorized_keys; creando uno nuevo El próximo paso sería el clon y el tut. dice que funciona – macbert

+0

@macbert correcto: pero no podrás clonar 'gitolite-admin' a menos que especifiques a través del archivo' config' que quieres usar la clave pública correcta. Y el nombre de las teclas es importante. – VonC

+0

De acuerdo, genial! Hice cambiar el nombre de la clave de git.pub ejecutó la instalación gitolite git.pub -PK y retira la llave de edad Brian de la .gitolite/keydir Después de que me dieron git clone git @ miservidor: gitolite-admin Clonación en ' gitolite-admin '... remote: Conteo de objetos: 15, hecho. control remoto: Comprimir objetos: 100% (12/12), listo. remoto: Total 15 (delta 0), reutilizado 0 (delta 0) Recepción de objetos: 100% (15/15), hecho. Sonido genial - Gracias @VonC – macbert

0

Por lo general, los repositorios git están utilizando un nombre .git. Por favor, intente hacer

git clone [email protected]:gitolite-admin.git

+0

misma salida: -7 git clone git @ miservidor: gitolite-admin.git Clonación en 'gitolite-admin' ... FATAL: R cualquier gitolite-admin Brian DENEGADO por fallthru (o ha escrito mal el nombre) fatal: el extremo remoto colgó inesperadamente – macbert

+0

@macbert normal: esto no tiene nada que ver con el nombre del repositorio, y todo que ver con cómo gitolite controla el acceso a ese repositorio específico de '' gitolite-admin''. – VonC

+5

Gitolite es lo suficientemente inteligente como para encargarse del '.git'; no lo necesitas para nada – poke

13

La respuesta aceptada es buena si solo está configurando gitolite, pero si es un usuario nuevo de una instalación existente, obtendrá el mismo error que el de la pregunta, a menos que ' Se ha agregado como administrador.

Si tiene acceso de shell al servidor gitolite, inicie sesión y cambie al usuario que utilizan los usuarios de gitolite - generalmente llamado git.

Una vez que haya iniciado sesión en el usuario gitolite, vaya al archivo conf y acceda a derechos RW + en el repositorio gitolite-admin. Gitolite conf generalmente está en /home/git/.gitolite/conf/gitolite.conf (asumiendo que el nombre de usuario es git). Para un usuario llamado gitolite Peaches, conceda los permisos de esta manera:

repo gitolite-admin 
    RW+  = OriginalAdmin Peaches 

guardar el archivo, y ejecutar la instalación desde la línea de comandos, aún cuando el usuario gitolite:

gitolite setup 

Si ha sido configurado como usuario correctamente, debería poder clonar ahora.

Para más información sobre la adición de usuarios, consulte the documentation

+1

Solo una nota que si estás en ubuntu y has instalado gitolite a través de apt-get, la configuración de gitolite es 'gl-setup' –

+0

¡Gracias, esto me ayudó mucho! ¡Especialmente la parte de configuración de gitolite! – plasmasolutions

Cuestiones relacionadas