![¿No puedo iniciar sesión en ssh después de instalar Gitolite? La solicitud de asignación de PTY falló en el canal 0](https://rvso.com/image/1316779/%C2%BFNo%20puedo%20iniciar%20sesi%C3%B3n%20en%20ssh%20despu%C3%A9s%20de%20instalar%20Gitolite%3F%20La%20solicitud%20de%20asignaci%C3%B3n%20de%20PTY%20fall%C3%B3%20en%20el%20canal%200.png)
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_keys
archivo 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-forwarding
es 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 command
en ~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_keys
archivo. - 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 git
primera.
debes ser 'git' al realizar esa instalación.
Primero debes generar en el lado del cliente una git
clave ssh privada y una git.pub
clave pública.
Copia la clave pública en el servidor: pasarás esa clave pública al gitolite install
comando.
Y comoryanmenciona ensu respuesta, usos
DiskStation> /volume1/homes/git/gitolite/install -ln
(para vincular la instalación en ~git/bin
lugar del /bin
directorio "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.