Si el servidor no acepta claves ed25519, no puedes usar claves ed25519. Tienes que usar un tipo de clave que el servidor admita, fin de la historia.
Mientras el cliente OpenSSH siga soportando alguna característica en común con el servidor, puedes seguir usándolo. Si está deshabilitado por defecto, puedes habilitarlo para un servidor específico añadiendo una directiva Host
al archivo ~/.ssh/config
en su directorio personal. Algo como:
Host my-old-server.example.com
PubkeyAcceptedKeyTypes +ssh-rsa
Si no estás seguro de qué ajustes tienes que cambiar, aquí tienes cómo averiguarlo:
- Puedes listar los ajustes compatibles con
ssh -Q sig
etc. Utilice la terminación de shell o consulte man ssh_config
para lo que puede poner después de -Q
.
- Puede ver la configuración permitida por defecto ejecutando
ssh -G localhost
. Esto vuelca la configuración que ssh
utiliza cuando se conecta a localhost.
- Puede ver qué ajustes ofrece su cliente y qué ajustes admite el cliente conectándose con el inicio de sesión:
ssh -vvv my-old-server.example.com
.
Tenga en cuenta que para el uso ordinario de SSH, incluso las firmas basadas en SHA-1 están bien. SHA-1 está roto cuando se trata de colisiones y esto es catastrófico para las infraestructuras de clave pública: un atacante que quiera hacerse pasar por goodserver.example.com
puede calcular un nombre "basura" tal que una solicitud de certificado para goodserver.example.com
y el nombre basura tienen el mismo hash SHA-1, registre el nombre basura y obtenga un certificado válido para él, y debido a la colisión del hash SHA-1 ese certificado también es válido para goodserver.example.com
. Así es como se utiliza normalmente TLS (incluido HTTPS), pero no SSH. Cuando te conectas directamente a un servidor, la propiedad de seguridad que importa para el hash es la segunda resistencia a la preimagen (para que el atacante no pueda suplantar la identidad del servidor directamente), y SHA-1 aún no se ha roto en este aspecto.
En cuanto a RSA, es tan seguro como ECDSA o Ed25519, su único inconveniente es que es un poco más lento.