1 votos

ssh falla con ssh_dispatch_run_fatal formato inválido

Durante los últimos años he tenido varios problemas con MacOS SSH, pero se resolvieron rápidamente buscando en la red. Esto es ahora algo diferente.

Este es el sistema Mojave con las últimas actualizaciones (10.14.4). Sin embargo, creo que esto comenzó incluso antes de actualizar con los últimos parches.

$ ssh -V
OpenSSH_7.9p1, LibreSSL 2.7.3

El error que obtengo es:

$ ssh <host> -v
---8<----
debug1: no key from blob. pkalg ssh-rsa: invalid format
ssh_dispatch_run_fatal: Connection to <host> port 22: invalid format

He intentado ejecutar sin archivo de configuración definido, ejecutar con diferentes opciones, pero sin ayuda. Desde otros sistemas, como Arch Linux (OpenSSH_7.9p1) y CentOS7 (OpenSSH_7.4p1) ssh'ing al mismo host funciona bien. Especialmente la misma versión de SSH trabajando en un arch linux me dice que esto es algo relacionado con apple.

Entonces, ¿qué está pasando ahora y cómo solucionar este comportamiento?

1 votos

Parece que tu llave está corrupta - serverfault.com/questions/854208/ .

0 votos

¿Hay alguna manera de forzar la autenticación sin ¿una llave? ¿Aparte de moverla fuera del directorio .ssh?

0voto

hot-fusion Puntos 1

Puede ser que sus claves estén corruptas, ya que este problema se ve después de algunos fallos de hardware . Intenta hacer una copia de seguridad y eliminar /etc/ssh/ssh_host_* y generando las claves que faltan con ssh-keygen -A .

0voto

slm Puntos 118

Ese error suena a que tu clave SSH puede estar corrupta. Este SF Q&A titulado: SSH De repente devuelve un formato inválido lo menciona también con esa misma conclusión.

Sus opciones son regenerar una nueva clave SSH o intentar conectarse usando sólo su nombre de usuario + contraseña.

Forzar el método de la contraseña SSH

Para forzar a SSH a utilizar el método de la contraseña para establecer una conexión, puede utilizar este alias de la siguiente manera:

$ alias sshno='ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no -o ControlPath=none'

A continuación, puedes conectarte a los servidores con tu nombre de usuario + contraseña:

$ sshno <user>@<server>

Problema con la longitud de la clave SSH

En las versiones más recientes de OSX, Apple decidió dejar de dar soporte a las claves de longitud inferior a 2048 bits. Al parecer, esto se hizo con la migración a Sierra, como se comenta en este artículo titulado: La actualización a macOS Sierra romperá tus claves SSH y te dejará fuera de tus propios servidores .

Puedes verificar la longitud de tu par de claves SSH así:

$ ssh-keygen -lf ~/.ssh/ssh_slm@keynum1_id_rsa.pub
4096 SHA256:mwvSCr2CO5RXjML2EhgERTHgGB23JgRegB23Th34aeT slm@somedom.com (RSA)

Esto muestra que la longitud de mi clave es de 4096 bits. Puede generar un par de claves SSH con una longitud específica utilizando la función -b cambiar a ssh-keygen .

$ ssh-keygen -b 4096 ....

0 votos

Eso respondía a mis preguntas. La clave, ya sea localmente o en el host de destino, parece ser el problema. La longitud de la clave es 4096, por si a alguien le interesa. Gracias slm

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X