¿No puedo iniciar sesión en ssh después de instalar Gitolite? La solicitud de asignación de PTY falló en el canal 0

¿No puedo iniciar sesión en ssh después de instalar Gitolite? La solicitud de asignación de PTY falló en el canal 0

Después de instalar Gitolite en mi Synology DiskStation NAS según estas instrucciones: http://www.bluevariant.com/2012/05/comprehensive-guide-git-gitolite-synology-diskstation/

Me di cuenta de que logré instalar gitolite, pero por alguna razón no pude ejecutar la instalación usando el usuario "git", pero pude hacerlo como "root".

Después de la instalación, me desconecté. Pero ahora, cada vez que intento iniciar sesión a través de ssh nuevamente: $ ssh root@iptonas

Recibí este error: la solicitud de asignación de PTY falló en el canal 0

¿Leí en alguna parte que gitolite deshabilita los inicios de sesión ssh ahora? ¿De qué otra manera puedo volver al caparazón...?

Respuesta1

error: PTY allocation request failed on channel 0

Perfectamente normal, esperado y sin bloqueo (es decir, la operación ssh continuaría)

Sin embargo, hiciste la instalación como root, lo cual es malo, especialmente si consideras elssh página de Gitolite:

Si estás instalando gitolite, eres un "administrador del sistema", te guste o no.
Si está utilizando el modo ssh predeterminado (es decir, no el modo http), ssh es una habilidad necesaria. Tómese el tiempo para aprender al menos lo suficiente para que funcione el acceso sin contraseña.

El aspecto clave a entender en Gitolite es su uso decomando forzado, para denegar el shell interactivo e interceptar cualquier comando (incluidos los comandos de git), permitiéndole imponer el control de acceso a los repositorios de Git.

Eso significa que su ~root/.ssh/authorized_keysarchivo contiene una línea con:

command="/devit_home/users/vobadm/gitpoc/ce7/gitolite/bin/gitolite-shell gitoliteadm",no-port-forwarding,no-X11-for        warding,no-agent-forwarding,no-pty ssh-rsa AAAAB3N

El no-port-forwardinges responsable de ese mensaje de advertencia " PTY allocation request failed on channel 0". Pero eso no impide que las operaciones de Gitolite se ejecuten correctamente.

Ver "¿Cómo usa gitolite toda esta magia ssh?".

Para un problema de ssh, consulte "Solución de problemas de SSH".
Debe obtener acceso a su servidor de otra manera que no sea ssh, y eliminar la línea que comienza commanden ~root/.ssh/authorized_keys.


¿Sabes cómo puedo usar Telnet para rehacer el proceso de instalación de Gitolite?

Una vez que haya iniciado sesión como root:

  • elimine la línea que comienza con el comando en el ~root/.ssh/authorized_keysarchivo.
  • asegúrese de que su clave pública raíz esté registrada en ese mismo archivo (es decir, sin ningún ' command=' delante).

Eso asegurará un acceso de root a través de ss.

Luego rehace la instalación, pero con una sudo gitprimera.
debes ser 'git' al realizar esa instalación.

Primero debes generar en el lado del cliente una gitclave ssh privada y una git.pubclave pública.
Copia la clave pública en el servidor: pasarás esa clave pública al gitolite installcomando.

Y comoryanmenciona ensu respuesta, usos

DiskStation> /volume1/homes/git/gitolite/install -ln

(para vincular la instalación en ~git/binlugar del /bindirectorio "ruta del sistema protegida contra raíz").

Respuesta2

Estoy de acuerdo en que Gitolite probablemente no debería ejecutarse como root. Yo también cometí este error. Solo agrego información adicional en caso de que ayude.

Todavía pude utilizar SSH como root en la máquina de destino agregando las siguientes opciones a mi comando SSH:

PreferredAuthentications=keyboard-interactive,password -o PubkeyAuthentication=no

Por supuesto, esto supone que su cuenta raíz tiene una contraseña asociada. No podrá autenticarse con una clave privada debido a la forma en que Gitosis edita el archivo SSHknown_hosts; sin embargo, ese archivo no se consulta de ninguna manera si especifica su autenticación preferida con las opciones enumeradas anteriormente.

información relacionada