OpenSSH HPN (High Performance Enabled) : Implémentation et installation

From Deimos.fr / Bloc Notes Informatique
Jump to: navigation, search

1 Introduction

Voici l'introduction donnée par le site web :

SCP and the underlying SSH2 protocol implementation in OpenSSH is network performance limited by statically defined internal flow control buffers. These buffers often end up acting as a bottleneck for network throughput of SCP, especially on long and high bandwith network links. Modifying the ssh code to allow the buffers to be defined at run time eliminates this bottleneck. We have created a patch that will remove the bottlenecks in OpenSSH and is fully interoperable with other servers and clients. In addition HPN clients will be able to download faster from non HPN servers, and HPN servers will be able to receive uploads faster from non HPN clients. However, the host receiving the data must have a properly tuned TCP/IP stack. Please refer to this tuning page for more information.

The amount of improvement any specific user will see is dependent on a number of issues. Transfer rates cannot exceed the capacity of the network nor the throughput of the I/O subsystem including the disk and memory speed. The improvement will also be highly influenced by the capacity of the processor to perform the encryption and decryption. Less computational expensive ciphers will often provide better throughput than more complex ciphers.

2 Application du patch

Pour commencer, il faut avoir les codes sources d'OpenSSH que vous pouvez télécharger à cette adresse : http://www.openssh.com/portable.html

Pour ce tutorial, nous allons utiliser les version à jour, c'est à dire la 4.5p1. Téléchargez les sources :

wget ftp://ftp.fr.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-4.5p1.tar.gz

Ensuite il faut télécharger le patch OpenSSH HPN pour notre version (4.5p1) :

wget http://www.psc.edu/networking/projects/hpn-ssh/openssh-4.5p1-hpn12v14.diff.gz

Maintenant décompressons les archives :

tar -xzvf openssh-4.5p1.tar.gz
gzip -d openssh-4.5p1-hpn12v14.diff.gz

Maintenant patchons les sources :

cd openssh-4.5p1
patch -p1 < ../openssh-4.5p1-hpn12v14.diff

Si tout c'est bien passé, les dernières lignes devraient ressembler à quelquechose comme :

...
patching file session.c
patching file ssh.c
patching file sshconnect.c
patching file sshconnect2.c
patching file sshd.c
patching file sshd_config
patching file version.h

3 Compilation

Avant de commencer la configuration il vous faut installer les dépendances (openssl-dev) :

apt-get install libcurl3-openssl-dev make gcc

Ensuite, nous pouvons commencer la configuration :

./configure --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh --with-md5-passwords

Rajoutez les arguments dont vous avez besoin si nécessaire.

Compilez :

make

Installez :

make install

Votre installation est maintenant terminée et vous avez accès aux HPN d'OpenSSH :-)

4 FAQ

4.1 Et sur la Dedibox ?

Nombreux sont ceux qui se sont cassés les dents sur la recompilation d'SSH. Voici donc la solution ! Installez ceci :

apt-get install libpam0g-dev

Puis, lors de la configuration, rajoutez cette option :

./configure --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc/ssh --with-md5-passwords --with-pam