J'utilise Putty sur Windows avec une authentification par clé pour accéder à certains de mes serveurs.
Cela fonctionne parfaitement avec une clé de ~ 3700 bits, mais avec une clé de ~ 17000 bits, il pense pendant environ 20 secondes côté client, puis dit simplement "Accès refusé" et demande un mot de passe.
Existe-t-il une limite de longueur de clé ou un délai d'expiration dans OpenSSH pour l'authentification par clé?
Je comprends que l'utilisation de touches aussi grandes n'a pas beaucoup de sens pratique, surtout quand on regarde ces 20 secondes de calcul, juste pour essayer de résoudre les problèmes auxquels je suis confronté: -) ...
authentication
ssh
rsa
BarsMonster
la source
la source
Réponses:
À un moment donné, j'ai regardé la source d'OpenSSL pour les clés Diffie-Hellman et j'ai découvert qu'il y avait une limite "arbitraire" de 10K sur la taille des clés DH. J'ai changé la source d'un test et j'ai trouvé que cela fonctionnait. J'ai écrit un bogue aux auteurs, et ils ont répondu que c'était une intention de conception d'empêcher le DoS en utilisant des clés massives.
Ne me surprendrait pas de voir quelque chose de similaire dans OpenSSH.
la source
Il n'y a pas de taille de clé maximale ou de délai d'expiration défini dans le protocole (ou du moins aucun que vous frapperiez), mais une implémentation peut ne pas prendre en charge de telles clés longues. Un temps de traitement de 20 secondes avec la clé privée ne semble pas élevé pour une clé RSA à 17 kbit. Ensuite, le serveur peut ne pas vouloir dépenser trop de puissance de calcul pour un utilisateur non authentifié: refuser des clés très volumineuses est une protection contre les attaques DoS.
Actuellement, 2048 bits sont considérés comme raisonnables pour une clé RSA; 4096 bits est plus élevé que nécessaire mais généralement pris en charge; au-delà de cela, vous ne devriez pas être surpris si certains programmes rejettent la clé.
la source
Avez-vous pu générer cette taille de clé sur le système cible prévu? Vous pouvez rencontrer une limite à ce qui est pris en charge. Le système Centos plutôt actuel prend en charge un maximum de 16k, ce qui semble suffisant pour des touches massives. Vous devriez voir le maximum si vous essayez de le dépasser avec ssh-keygen comme indiqué ci-dessous.
la source
Le serveur openssh a un paramètre LoginGraceTime. Depuis la page de manuel:
Cela pourrait être une limite que vous atteignez si elle est fixée à 20 secondes.
Devinette: il se pourrait également que le mastic lui-même ait cette limite, pensant que si le traitement côté client de l'authentification par clé publique prend autant de temps, quelque chose ne va pas.
la source