2011-02-03 8 views
6

He configurado un servidor gitosis siguiendo las instrucciones del here. Funciona bien para el usuario inicial, pero recientemente agregué un nuevo usuario. Estos son los pasos que tomé.gitosis pidiendo la contraseña

  • Creado un par de claves rsa usando ssh-keygen con el nombre johndoe.
  • Luego lo copió al keydir en gitosis admin repo.
  • de editar el fichero gitosis config y juansoto usuario agregado a la lista de miembros
  • Commited los cambios utilizando git commit -a -m "what i did"
  • empujado a los cambios en el servidor

Después de eso fuimos a la salida con el nuevo archivo de clave. ¡Pide la frase de contraseña y cuando la ingreso correctamente, solicita la contraseña para el usuario git! No hay contraseña para el usuario git.

Ahora he desactivado PasswordAuthentication en sshd_config y ahora dice 'Permiso denegado (publickey). He comprobado el archivo autorizado_keys del usuario git y solo se ha autorizado una clave en él, es decir, la clave inicial para el administrador de gitosis.

También he comprobado el doble de los permisos en el gancho ./gitosis-admin.git/hooks/post-update y tiene 755

+0

Ni siquiera recuerdo lo que hice para resolver esto o si incluso lo resolví. Actualmente uso gitolite y siento que es mucho mejor. ¿Qué se debe hacer para una pregunta como esta? – andho

Respuesta

6

Gitosis es un poco estúpido - es el nombre del archivo que utilizó para el archivo de claves, literalmente, "johndoe"? Si es así, cambie eso:

git mv keydir/johndoe keydir/johndoe.pub 
git commit -m "changed key name" 
git push 

y vuelva a intentarlo.

Además, como señala Arlen Cuss, asegúrese de que en realidad es la clave pública, no la clave privada.

+0

OP, si el problema es la clave pública frente a la privada, acepte la respuesta de Arlen Cuss. Dejo esto aquí para aquellas personas que han dejado el ".pub" fuera de las claves públicas. – ebneter

+0

Para ser sincero, no tengo idea de qué gitosis * does * do si se pone una clave privada, pero supongo que no funcionará, y que este puede ser el problema ... quién sabe: -} – Ashe

+0

@Arlen Cuss , instalará la clave privada en el archivo de claves autorizado y luego ssh no funcionará. (He tenido personas que lo hacen. :-)) – ebneter

1

¡Asegúrese de estar poniendo su clave pública dentro de su repositorio de gitosis, y no en su privado!

Cuando genera un archivo de clave, obtendrá un archivo .pub; use ese, pero ponga el nombre en su gitosis.conf sin el .pub.

+0

Oooh, buen punto. :-) – ebneter

1

Asegúrese de que también haya agregado (git add) los archivos .pub, y los haya comprometido y enviado correctamente al repositorio.

5

Hola, tuve el mismo problema, y ​​finalmente encontré una salida.

tenía que seguir las instrucciones dadas por muchos sitios web, pero cada vez después de

git clone [email protected][serveur_name]:gitosis-admin.git 

Se estaba pidiendo contraseña para GIT.

Resolución: he insertado la llave de administración pública (el creado en mi usuario del cliente; luego importados a tmp del servidor) en el interior de mi archivo authorized_keys (ubicado en el directorio /home/git/.ssh/ del servidor) y funciona ahora.

cp authorized_keys authorized_keys.bak 
cat /tmp/id_dsa_git.pub >> authorized_keys 

yo encontramos este @http://fclose.com/b/linux/366/set-up-git-server-through-ssh-connection/

0

poco me encontré con este problema con un depósito privado para el trabajo. Me encontré con esta respuesta y leí las respuestas; this y this hicieron el truco.

para resumir, para la posteridad, asegúrese de agregar la clave .pub al directorio gitosis-admin/keydir. Tiene que ser un archivo .pub.

Commit & Presione sus cambios a gitosis-admin.

Su ~/.ssh/authorized_keys se actualizará automáticamente, por lo que no es necesario redirigir por gato la salida de su archivo de clave pública.

Esperanza esto ayuda

0

una cosa que a menudo va mal para los usuarios de Windows y no es apresado por la mayoría de los tutoriales por ahí (ya que asumen que estás en un cliente Linux)

msysgit, la consola de windows Git, está buscando su clave privada en /home/YOURUSERNAME/.ssh/id_rsa cuales en las ventanas es (windows 7) C: \ Users \ YOURUSERNAME.ssh \ id_rsa

mientras que la mayoría lo consiguen a la derecha con la carpeta, ya que se crea automáticamente, se pierden que el archivo TIENE QUE denominarse "id_rsa" o no será utilizado por msysgit. No he encontrado una forma de decirle a msysgit que use otras teclas

0

Lo más probable es que el gancho post-actualización no se haya ejecutado correctamente.

Compruebe que ~ git/.ssh/authorized_keys tiene su clave pública en él.

De lo contrario, el enganche post-actualización no se ejecutó. ¿Permisos que han sido cambiados posteriormente? Algún otro error de configuración. ¿Copiado de otro lado?

  1. En el servidor, pago y envío de administración gitosis: /path/to/gitosis-admin.git git clone. Haga un cambio insignificante en gitosis.conf. Verifica que tu clave pública esté en keydir. Tuve que ejecutar esto como el usuario git.

  2. Commit gitosis.conf. git agregar gitosis.conf & & git commit -m "actualizar claves".

  3. Ahora revise el archivo authorized_keys.

  4. Cambia gitosis.conf y vuelve a cometer.

Acceso de prueba. Si authorized_keys no se actualiza después de este proceso, busque en los registros los mensajes de error.

Cuestiones relacionadas