2 votes

Accélérer l'authentification par clé publique (linux) ?

Nous utilisons une implémentation de Mercurial et envoyons des données à un serveur de dépôt via une authentification par clé publique qui prend la dernière révision et la pousse vers nos serveurs web via des hooks également en utilisant une authentification par clé publique (donc deux connexions utilisant une authentification par clé publique). Cela fonctionne, mais il faut 5 à 10 secondes même pour de petits commits.

Je pense que cela est dû à l'authentification par clé publique, car je sais que lors de la connexion via le terminal en utilisant l'authentification par clé publique, cela prend une seconde ou deux pour se connecter et afficher la bannière. Y a-t-il un moyen de rendre cela (les connexions) plus rapide ?

Par ailleurs, y a-t-il un moyen d'empêcher la bannière SSH de s'afficher dans la sortie standard, à part la désactiver ? Elle apparaît dans le statut de retour et est assez agaçante.

0 votes

5-10 secondes semblent excessives. Lorsque j'exécute temps ssh server1 exit, j'obtiens assez régulièrement un temps de 1,1 secondes.

0 votes

Cela pourrait aussi être un problème de réseau.

0 votes

En utilisant la clé publique pour effectuer la deuxième authentification par clé publique. J'ai obtenu un temps de 2,63-2,73 secondes. Les deux serveurs étant authentifiés sont configurés de manière similaire, donc les temps ci-dessus pour deux connexions sont juste au-dessus de 5 secondes. :( Je pense qu'il y a un délai lors de la première authentification. La commande de sortie elle-même est immédiate.

5voto

Chalkers Points 511
echo "GSSAPIAuthentication no" > /home/`whoami`/.ssh/config

Avant : 0m15.512s

Après : 0m0.611s

1 votes

Oui, j'allais mentionner que vous pouvez désactiver plusieurs méthodes d'authentification, probablement dans les options de la ligne de commande, pour n'en essayer qu'une seule. Cela fait la même chose, mais pour tout.

4voto

R. S. Points 1604

Une résolution DNS inverse lente peut également causer cela. Pouvez-vous essayer d'ajouter UseDNS no au fichier sshd_config de votre serveur Mercurial et voir si cela aide?

2voto

Joshua Enfield Points 3384

J'ai découvert Control Masters, et je l'ai utilisé pour la deuxième connexion afin de rendre les connexions après la première connexion presque instantanées. Je pars du principe que 2 secondes font simplement partie du processus de connexion lorsqu'une connexion est établie. Le choix de clés spécifiques et l'utilisation de diverses options en ligne de commande n'ont pas en moyenne amélioré beaucoup les temps.

1voto

Weboide Points 3255

Si vous avez beaucoup de clés ssh côté client, cela a tendance à ralentir tout le processus d'authentification car il doit envoyer chaque clé publique pour correspondre à une des authorized_keys du serveur.

De plus, si votre serveur est déjà un peu lent, il va facilement se dégrader.

1 votes

C'est une bonne idée (et vérifiable en ajoutant des -v à la ligne de commande). Il devrait également être possible de le spécifier à l'aide d'options en ligne de commande pour indiquer quelle clé utiliser.

0 votes

Pour l'instant, c'est seulement pour un à trois clients. L'option en ligne de commande pour spécifier la clé est une bonne idée. Je vais regarder ça maintenant.

0 votes

Time ssh -T -q -i ~/.ssh/id_rsa server1 exit - A donné des temps meilleurs, mais variait de 2,27 à 3,3 secondes pour chaque authentification. En ce qui concerne mon commentaire précédent, je réalise maintenant que vous parlez de chacune des clés clients plutôt que de clés provenant de plusieurs clients.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X