Pregunta

No puedo encontrar la manera de crear las claves públicas / privadas para otros usuarios en mi servidor. En mi servidor, yo escriba lo siguiente través de la cáscara

(uiserver): john:> ssh-keygen -t dsa

Después de eso, entro los nombres de archivo y contraseña, lo que resulta con éxito en una clave privada y una clave pública para "john". Ahora cuando se utiliza esta clave ssh en mi repositorio de subversión (sentado en Juan), todas las acciones se registran como "John". Eso es perfecto.

Así que la próxima, quiero crear un par de claves pública / privada para "George" para que pueda acceder a mi servidor. Repetí el ssh-keygen de mi servidor. Entonces me dio la clave privada a George. George ha instalado correctamente la clave, pero cada vez que realiza una acción en el repositorio SVN, la subversión registra sus acciones como "John" en lugar de "George". ¿Cómo llego a la subversión de reconocer la diferencia entre "George" y "John"?

Me miré en authorized_keys2 y me di cuenta que el comentario final para ambas teclas es "john @ uiserver". He intentado editar el comentario, pero la subversión todavía no puedo reconocer la diferencia entre George y John.

Detalle adicional

Tengo una solución de medio de trabajo basado en la respuesta de Juliano. Fui a "David" máquina (Linux), hizo las teclas prv / pub, pub adjunto clave a John authorized_keys2. ¡Perfecto! SVN está registrando los cambios de David como David.

Fui a "George" máquina (Windows XP), puttygen utiliza para crear claves prv / pub, pub adjunto clave para authorized_keys2 de John. George puede acceder SVN, pero todos sus cambios todavía se registran como John. Estoy tratando solución túnel de BoJo tan pronto como averiguar dónde configurarlo en TortoiseSVN.

RESPUESTA

He utilizado la opción 2 de la respuesta de Bojo. Al final, todo lo que tenía que hacer era añadir la siguiente línea a mi authorized_keys2

command="svnserve -t --tunnel-user=george",no-port-forwarding,no-X11-forwarding,no-agent-forwarding ssh-dss <george's long public key> == meaningful comment

I También se ha añadido la línea

george=george's password

a mi / pathtorepository / conf / passwd a mi archivo de contraseñas subversión

¿Fue útil?

Solución

Consulte las instrucciones sobre cómo utilizar el comando --tunnel fácil de aquí en el manual de sVN . Me imagino que la razón por George está apareciendo como John es porque no está diciendo la sesión ssh qué usuario es, por lo que el impago a la cuenta de Juan.

Para aclarar, el cartel original tiene dos opciones.

  1. Crear una nueva cuenta de usuario para George. Esto supone que tiene acceso de superusuario.
  2. Generar la segunda clave (idealmente George hace esto), anexar al archivo .ssh / authorized_keys de la cuenta de Juan, y añadir los comandos anteriores vinculados al archivo .ssh / authorized_users como se describe. El enlace también se describe cómo limitar el acceso del usuario adicional a la cuenta de Juan.

Otros consejos

  

Entonces me dio la clave privada a George.

Las claves privadas se llaman privada por una razón. Ellos nunca están destinados a ser transferido de esta manera. George debe crear su propia pareja de claves, en su propio entorno del usuario. Pero esto no está relacionado con el problema que está experimentando. Las claves son factores que acabamos de primos de un número muy grande (simplificado para facilitar su comprensión). la identidad del usuario no es parte de la clave, pero una "etiqueta" que se adjunta a la tecla, que SSH no hace mucho uso.

A partir de su descripción, que está pidiendo George para iniciar sesión en la cuenta de John a través de SSH. Lo que determina que el usuario que se registra en las acciones SVN no está relacionado con el par de claves utilizado para la autenticación de cualquier manera, pero al usuario que realmente se está registrando a.

Así, George debe tener su propia cuenta de acceso al servidor SVN, el repositorio debe ser compartida por ambas cuentas, y George debe utilizar sus propias credenciales para iniciar sesión en el servidor.

John URL: svn + ssh: // john @ SVN-servidor / ruta / a / repo

de George URL: svn + ssh: // George @ SVN-servidor / ruta / a / repo

¿Está relacionado con esta cuestión de forma , apuntando a la entrada de blog sVN a través de ssh pide la equivocada nombre de usuario

La solución que había que crear un archivo de configuración en el directorio .ssh George y poniendo lo siguiente en:

Host uiserver
User george

Puede dar una prueba usando:

ssh-keygen -C "george"
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top