OpenSSH-7.7p1

Introduction à OpenSSH

Le paquet OpenSSH contient des clients ssh et le démon sshd. Il sert à chiffrer l'authentification et le trafic consécutif sur un réseau. Les commandes ssh et scp sont des implémentions sécurisées, respectivement de telnet et de rcp.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-8.3.

Informations sur le paquet

  • Téléchargement (HTTP) : http://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz

  • Somme de contrôle MD5 du téléchargement : 68ba883aff6958297432e5877e9a0fe2

  • Taille du téléchargement : 1.5 Mo

  • Estimation de l'espace disque requis : 38 Mo (plus 11 Mo pour les tests)

  • Estimation du temps de construction : 0.4 SBU (running the tests takes 15+ minutes, irrespective of processor speed)

Téléchargements supplémentaires

Dépendances de OpenSSH

Facultatives

Linux-PAM-1.3.0, Système X Window, MIT Kerberos V5-1.16.1, libedit, LibreSSL Portable, OpenSC et libsectok

Facultatives pour l'exécution (Utilisé seulement pour modifier l'entropie)

OpenJDK-10.0.2, Net-tools-CVS_20101030 et Sysstat-11.6.3

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/OpenSSH

Installation de OpenSSH

OpenSSH lance pas moins de deux processus en se connectant à d'autres ordinateurs. Le premier processus est un processus privilégié et il contrôle comme il faut l'émission de privilèges. Le deuxième processus communique avec le réseau. Des étapes d'installation supplémentaires sont nécessaires pour paramétrer le bon environnement, effectuées en lançant les commandes suivantes en tant qu'utilisateur root :

install  -v -m700 -d /var/lib/sshd &&
chown    -v root:sys /var/lib/sshd &&

groupadd -g 50 sshd        &&
useradd  -c 'sshd PrivSep' \
         -d /var/lib/sshd  \
         -g sshd           \
         -s /bin/false     \
         -u 50 sshd

Installez OpenSSH en lançant les commandes suivantes :

patch -Np1 -i ../openssh-7.7p1-openssl-1.1.0-1.patch &&

./configure --prefix=/usr                     \
            --sysconfdir=/etc/ssh             \
            --with-md5-passwords              \
            --with-privsep-path=/var/lib/sshd &&
make

La suite de tests demande l'installation d'une copie de scp pour finir les tests de multiplexage. Pour lancer la suite de tests, commencez par copier le programme scp dans /usr/bin, en faisant attention à sauvegarder toute copie déjà existante.

Pour tester les résultats lancez : make tests.

Maintenant, en tant qu'utilisateur root :

make install &&
install -v -m755    contrib/ssh-copy-id /usr/bin     &&

install -v -m644    contrib/ssh-copy-id.1 \
                    /usr/share/man/man1              &&
install -v -m755 -d /usr/share/doc/openssh-7.7p1     &&
install -v -m644    INSTALL LICENCE OVERVIEW README* \
                    /usr/share/doc/openssh-7.7p1

Explication des commandes

--sysconfdir=/etc/ssh : Ceci empêche les fichiers de configuration de s'installer dans /usr/etc.

--with-md5-passwords : Cela autorise l'utilisation de mots de passe MD5.

--with-pam : Ce paramètre active le support de Linux-PAM dans la construction.

--with-xauth=/usr/bin/xauth : Règle l'emplacement par défaut du binaire xauth pour l'authentification X. Modifiez l'emplacement si xauth sera installé à un autre endroit. Vous pouvez aussi contrôler cela depuis sshd_config avec le mot-clé XAuthLocation. Vous pouvez vous passer de cette option si Xorg est déjà installé.

--with-kerberos5=/usr : Cette option est utilisée pour inclure le support Kerberos 5 dans la construction.

--with-libedit : Cette option active les possibilités d'édition de lignes et d'historique pour sftp.

Configuration d'OpenSSH

Fichiers de configuration

~/.ssh/*, /etc/ssh/ssh_config et /etc/ssh/sshd_config

Aucune modification n'est nécessaire dans aucun de ces fichiers. Cependant, vous pourriez souhaiter relire les fichiers /etc/ssh/ et effectuer les modifications adéquates pour la sécurité de votre système. Une des modifications recommandées est de désactiver la connexion en root via ssh. Exécutez la commande suivante en tant qu'utilisateur root pour désactiver la connexion root via ssh :

echo "PermitRootLogin no" >> /etc/ssh/sshd_config

Si vous voulez vous loguer sans taper votre mot de passe, commencez par créer ~/.ssh/id_rsa et ~/.ssh/id_rsa.pub avec ssh-keygen et ensuite copiez ~/.ssh/id_rsa.pub dans ~/.ssh/authorized_keys sur l'ordinateur distant où vous voulez vous loguer. Vous devrez changer REMOTE_USERNAME et REMOTE_HOSTNAME par le nom d'hôte de l'ordinateur distant et vous devrez entrer votre mot de passe pour que la commande ssh réussisse :

ssh-keygen &&
ssh-copy-id -i ~/.ssh/id_rsa.pub REMOTE_USERNAME@REMOTE_HOSTNAME

Une fois que vous avez configuré un accès sans mot de passe, c'est en fait plus sécurisant que de vous connecter avec un mot de passe (puisque la clé privée est plus longue que la plupart des mots de passes). Si vous voulez maintenant désactiver la connexion avec mot de passe, en tant qu'utilisateur root :

echo "PasswordAuthentication no" >> /etc/ssh/sshd_config &&
echo "ChallengeResponseAuthentication no" >> /etc/ssh/sshd_config

Si vous avez ajouté le support de LinuxPAM et que vous voulez que ssh l'utilise, vous devrez ajouter un fichier de configuration pour sshd et permettre l'utilisation de LinuxPAM. Remarquez que ssh n'utilise PAM que pour vérifier les mots de passe. Si vous avez désactivé le login par mot de passe, ces commandes sont inutiles. Lancez les commandes suivantes en tant qu'utilisateur root :

sed 's@d/login@d/sshd@g' /etc/pam.d/login > /etc/pam.d/sshd &&
chmod 644 /etc/pam.d/sshd &&
echo "UsePAM yes" >> /etc/ssh/sshd_config

Vous pouvez trouver des informations de configuration supplémentaires dans les pages de man de sshd, ssh et de ssh-agent.

Unité Systemd

Pour lancer le serveur SSH au démarrage du système, installez l'unité sshd.service fournie dans le paquet blfs-systemd-units-20180105.

make install-sshd

Contenu

Programmes installés: scp, sftp, slogin (lien symbolique vers ssh), ssh, ssh-agent, ssh-copy-id, ssh-keygen, ssh-keyscan et sshd
Bibliothèques installées: Aucune
Répertoires installés: /etc/ssh, /usr/share/doc/openssh-7.7p1 et /var/lib/sshd

Descriptions courtes

scp

est un programme de copie de fichier agissant comme rcp sauf qu'il utilise un protocole chiffré.

sftp

est un programme de genre FTP fonctionnant sur les protocoles SSH1 et SSH2.

slogin

est un lien symbolique vers ssh.

ssh

est un client du type rlogin/rsh sauf qu'il utilise un protocole chiffré.

sshd

est un démon qui écoute les requêtes de connexion ssh.

ssh-add

est un outil qui ajoute des clés à ssh-agent.

ssh-agent

est un agent d'authentification qui peut stocker des clés privées.

ssh-copy-id

est un script qui active les logins sur la machine distante en utilisant les clés locales.

ssh-keygen

est un outil de génération de clés.

ssh-keyscan

est un outil pour réunir des clés d'hôte publiques à partir d'un certain nombre d'hôtes.

Last updated on 2018-08-15 00:05:25 +0200