web-dev-qa-db-fra.com

Comment accélérer la connexion SSH?

En dehors de chez moi, chaque fois que je me connecte à mon serveur Ubuntu à l'aide de SSH, il me faut environ 6 secondes pour obtenir l'invite de mot de passe, mais lorsque je me connecte à mon serveur d'hébergement Web, cela prend environ 1 seconde. Que puis-je faire pour accélérer cela?

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name      : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz         : 1000.000
cache size      : 1024 KB
$ cat /proc/meminfo
MemTotal:      2074528 kB
23
grokus

La raison numéro un que j'ai vue pour cela est une option de configuration dans SSHD UseDNSname__: cette option (activée par défaut) oblige le serveur à effectuer la résolution DNS sur les demandes entrantes. Une opération fastidieuse. J'ai vu des connexions passer d'une minute plus l'attente du mot de passe à quelques secondes. Si vous éditez /etc/ssh/sshd_config sur le serveur et ajoutez (s'il n'est pas présent) en bas UseDNS no, puis redémarrez le démon SSH avec service ssh restart, vous constaterez une amélioration lors de votre prochaine connexion.

37
Marco Ceppi

Pour moi, le motif numéro 2 (après l'option UseDNS côté serveur) des connexions longue session SSH correspond aux tentatives de connexion côté client utilisant IPv6 (qui, de toute évidence, ne sont pas correctement configurées sur mon réseau - ou presque, d'ailleurs).

Voir HOWTO: Accélérer la connexion SSH sur les forums Ubuntu.

La "solution" consiste à activer IPv4 uniquement:

1) soit pour l'invocation du client SSH donné:

ssh -4 login@hostname

2) ou globalement dans la configuration du client ssh dans /etc/ssh/ssh_config:

Host *
   AddressFamily inet

Bien sûr, il serait plus correct de configurer correctement IPv6 sur votre réseau, mais qui a le temps pour cela :)

6

Essayez d’ajouter l’option suivante avec votre commande ssh:

-o "PreferredAuthentications=password"

(Cela empêche ssh de négocier toute autre méthode d'authentification et accélère la promesse de mot de passe!)

3
perseo22

En outre, tapez ceci sur la machine distante (en tant qu'utilisateur avec lequel vous vous connectez en tant que) pour supprimer tout message MOTD:

touch ~/.hushlogin

Ne pas faire autant de différence que désactiver UseDNS, mais cela pourrait aider les connexions plus lentes.

2
Oli

Comme vous utilisez une version assez ancienne d’Ubuntu, il se pourrait bien que ce bogue soit: https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/300151

Redémarrer dbus (/etc/init.d/dbus restart) pourrait vous aider.

2
Marcel Stimberg