ssh - Cómo reparar la solicitud fallida en el canal 0
terminal pty (16)
cuando quiero conectarme a mi servidor así
ssh -a [email protected] -p 22
me da dos mensajes de error:
PTY allocation request failed on channel 0
shell request failed on channel 0
cuando uso el parámetro
-T
el primer mensaje de error desaparece.
¿Pero cómo arreglar el segundo?
No puedo conectarme.
A otro servidor me puedo conectar sin ningún problema.
Estoy en MAC OS 10.9 El parámetro
-v
me muestra esta salida de depuración:
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: Connecting to xxx.your-server.de [188.40.3.15] port 22.
debug1: Connection established.
debug1: identity file /Users/xxx/.ssh/id_rsa type -1
debug1: identity file /Users/xxx/.ssh/id_rsa-cert type -1
debug1: identity file /Users/xxx/.ssh/id_dsa type -1
debug1: identity file /Users/xxx/.ssh/id_dsa-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version mod_sftp/0.9.8
debug1: no match: mod_sftp/0.9.8
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5 none
debug1: kex: client->server aes128-ctr hmac-md5 none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 55:f5:ca:ca:01:45:0f:7b:71:0a:1f:ba:9e:25:17:fb
debug1: Host ''xxx.your-server.de'' is known and matches the RSA host key.
debug1: Found key in /Users/xxx/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /Users/xxx/.ssh/id_rsa
debug1: Trying private key: /Users/xxx/.ssh/id_dsa
debug1: Next authentication method: password
después de ingresar la contraseña me sale esto
debug1: Authentication succeeded (password).
Authenticated to xxx.your-server.de ([xxx.xxx.3.15]:22).
debug1: channel 0: new [client-session]
debug1: Entering interactive session.
debug1: Sending environment.
debug1: Sending env LANG = de_DE.UTF-8
shell request failed on channel 0
La solicitud de asignación de PTY falló en el canal 0
Hay un límite de 256 pseudo terminales en un sistema. Tal vez tenga una aplicación que tenga fugas de pseudo terminales. Utilizar
lsof /dev/pts/*
para ver qué procesos tienen pseudo terminales abiertos
solicitud de shell falló en el canal 0
Estaba recibiendo este error (sin error de asignación PTY). Resulta que una de mis aplicaciones (QtCreator 3.0.?) Estaba perdiendo procesos de Zombie. Otros usuarios pudieron iniciar sesión, por lo que podría haber alcanzado mi cuota de proceso por usuario (si existe). He actualizado a QtCreator 3.3. Hasta aquí todo bien.
De vez en cuando veo esto cuando hago girar una VM. Nuestro sistema de automatización comienza a aplicar actualizaciones, por lo que, dependiendo del momento, puede llegar a una actualización de paquetes críticos.
Resultado: esto puede suceder si se actualizan ssh u otros paquetes relacionados en la máquina de destino.
Encontré este error al usar mi git bash. Pude resolver esto reinstalando git para Windows. Más detalles en esta answer .
Es una vieja pregunta, pero si alguien llega aquí como yo ...
Esto podría ser el resultado de una fecha incorrecta en el servidor. Si está trabajando con un sistema integrado, esta podría ser la causa ... Compruebe su fecha:
$ date
Esto sucedía cuando intentaba usar sudo en
ssh -t [email protected]
después de agregar la clave pública de mi usuario local a github
Solo una cabeza a la gente feliz de Google como yo
Prueba esto:
vi /etc/security/limits.d/20-nproc.conf
* soft nproc 4096 # change to 65535
root soft nproc unlimited
Resolví un problema similar con uno de nuestros usuarios que solo se usaba para el reenvío de puertos ssh, por lo que no necesita tener acceso a PTY y estaba prohibido en el archivo .ssh / Authorizedkeys:
no-pty ssh-rsa AAA...nUB9 someuser
Entonces, cuando intentaste iniciar sesión en este usuario, solo aparece el mensaje
PTY allocation request failed on channel 0
fue devuelto Por lo tanto, verifique el archivo de claves autorizadas de su usuario.
Si una persona se encuentra leyendo este QA mientras está intentando ingresar a un dispositivo NetGear ReadyNAS, asegúrese de que la casilla de verificación "rsync only" no esté marcada en el cuadro de diálogo para el servicio ssh en la interfaz de administración.
Simplemente agregue estas líneas a su
/etc/mtab
y
/etc/fstab
, y reinicie el sistema.
none /dev/pts devpts defaults 0 0
También enfrenté el mismo problema. Solo reiniciar mis servidores resolvió el problema.
Tuve exactamente el mismo error al intentar conectarme a través de ssh a mi servidor. Como puedo ver, está utilizando un servidor proporcionado por Hetzner que se conecta a él en el puerto 22:
debug1: Conexión a xxx.your-server.de [188.40.3.15] puerto 22.
La wiki / documentación oficial de Hetzner dice:
Protocolo para diagnósticos remotos encriptados para servidores / computadoras (consolas). El puerto SSH que se utilizará es 222.
Entonces debes conectarte a través del puerto 222:
ssh -p 222 [email protected]
acabo de descubrir cuál era el problema en mi caso (estrato de proveedor): al final tuve el mismo problema con la salida "solicitud de shell falló en el canal 0".
Tengo que usar la contraseña maestra con el nombre del dominio web como inicio de sesión. (En alemán www.wunschname.de, donde wunschname es su dirección web).
Un inicio de sesión ssh con nombres de usuario sftp y las contraseñas correspondientes no tiene éxito. (¡Aunque scp y sftp funcionan con estos usuarios de sftp!)
desmontar y montar
/dev/pts
funcionó para mí
umount /dev/pts
mount devpts /dev/pts -t devpts
Referencia: http://www.iitk.ac.in/LDP/LDP/lfs/5.0/html/chapter06/proc.html
reiniciar la instancia desde la consola de AWS funcionó para mí.
Hubo un servicio que estaba filtrando conexiones de archivos que
lsof
ayudó a encontrar.
remontar / dev / pts funciona para mí. puede hacerlo de forma remota a través de ssh si ejecuta ssh de esta manera contra la máquina afectada. ssh no solicita un tty cuando ejecuta comandos como este y, por lo tanto, esto le permitirá volver a montar / dev / pts de forma remota
ssh user @ host - ''mount -o remount, rw / dev / pts''
shell request failed on channel 0
significa que no tiene acceso a shell o comandos remotos, arregle su permiso de usuario en el servidor para tener acceso a shell o si solo quiere hacer un túnel use las opciones
-N
y
-T