Configuration d'un client OpenSSH

Pour vous connecter à un serveur OpenSSH depuis un ordinateur client, les paquetages openssh-clients et openssh doivent y être installés.

Utilisation de la commande ssh

La commande ssh est un remplacement sécurisé des commandes rlogin, rsh et telnet. Elle vous permet de vous connecter à un ordinateur distant et d'y exécuter des commandes.

La connexion à un ordinateur distant au moyen de ssh est semblable à la connexion au moyen de telnet. Par exemple, pour se connecter à un ordinateur distant appelé pingouin.exemple.net, entrez la commande suivante à l'invite du shell :
ssh pingouin.exemple.net
La première fois que vous effectuez la connexion à un ordinateur distant à l'aide de ssh le système affiche un message qui ressemble à ceci :
The authenticity of host 'pingouin.exemple.net' can't be established.
DSA key fingerprint is 94:68:3a:3a:bc:f3:9a:9b:01:5d:b3:07:38:e2:11:0c.
Are you sure you want to continue connecting (yes/no)? 
Entrez yes pour continuer. De cette façon, le serveur est ajouté à votre liste d'hôtes connus, comme indiqué dans le message suivant :
Warning: Permanently added 'pingouin.exemple.net' (DSA) to the list of known hosts.
Une invite vous demande ensuite d'entrer votre mot de passe pour l'ordinateur distant. Après l'avoir entré, vous vous retrouvez à l'invite shell de l'ordinateur distant. Si vous utilisez ssh sans options de ligne de commande, le nom d'utilisateur sous lequel vous êtes connecté sur l'ordinateur local est transmis à l'ordinateur distant. Si, au contraire, vous désirez spécifier un nom d'utilisateur différent, utilisez la commande suivante :
ssh -l nom-d'utilisateur pingouin.exemple.net
Vous pouvez aussi avoir recours à la syntaxe ssh nom-d'utilisateur@pingouin.exemple.net.

La commande ssh peut être utilisée pour exécuter une commande sur l'ordinateur distant sans vous donner d'invite du shell. Pour ce faire, la syntaxe est ssh nom-d'hôte commande. Par exemple, si vous vouliez exécuter la commande ls /usr/share/doc sur l'ordinateur distant pingouin.exemple.net, vous devriez entrer la commande suivante à l'invite du shell :
ssh pingouin.exemple.net ls /usr/share/doc
Une fois le bon mot de passe entré, le contenu de /usr/share/doc est affiché et vous revenez à votre invite du shell.

Utilisation de la commande scp

La commande scp peut être utilisée pour transférer des fichiers entre ordinateurs au moyen d'une connexion cryptée sécurisée. Cette commande est semblable à rcp.

La syntaxe générale pour le transfert d'un fichier local à un système distant est scp fichier-local, où nom-d'utilisateur@vers-nom-d'hôte:/nouveau-nom-de-fichier. fichier-local correspond à la source et nom-d'utilisateur@vers-nom-d'hôte:/nouveau-nom-de-fichier à la destination.

Pour transférer le fichier local shadowman sur votre compte dans pingouin.exemple.net, entrez la commande suivante à l'invite du shell (remplacez nom-d'utilisateur par votre propre nom d'utilisateur) :
scp shadowman nom-d'utilisateur@pingouin.exemple.net:/home/nom-d'utilisateur
Cela a pour effet de transférer le fichier local shadowman vers /home/nom-d'utilisateur/shadowman sur pingouin.exemple.net.

La syntaxe générale pour le transfert d'un fichier distant vers le système local est : scp nom-d'utilisateur@vers-nom-d'hôte:/fichier-distant /nouveau-fichier-local, où fichier-distant correspond à la source et nouveau-fichier-local à la destination.

Il est également possible de spécifier plusieurs fichiers en tant que fichiers source. Par exemple, pour transférer le contenu du répertoire /downloads vers un répertoire existant nommé uploads sur l'ordinateur distant pingouin.exemple.net, entrez ce qui suit à l'invite du shell :
scp /downloads/* nom-d'utilisateur@pingouin.exemple.net:/uploads/

Utilisation de la commande sftp

L'utilitaire sftp peut être utilisé pour ouvrir une session FTP interactive sécurisée. Il est semblable à ftp, sauf qu'il utilise une connexion chiffrée sécurisée. La syntaxe générale pour l'utiliser est sftp nom-d'utilisateur@nom-d'hôte.com. Une fois authentifié, vous pouvez utiliser un ensemble de commandes semblable à celui offert par FTP. Consultez la page de manuel sftp pour obtenir la liste de ces commandes en entrant man sftp à l'invite du shell. L'utilitaire sftp n'est disponible que dans les versions 2.5.0p1 ou supérieures d'OpenSSH.

Génération de paires de clés

Si vous ne voulez pas devoir entrer votre mot de passe chaque fois que vous effectuez une connexion ssh, scp ou sftp à un ordinateur distant, vous pouvez générer une paire de clés d'autorisation.

NotePaires de clés d'autorisation séparées
 

Vous devez avoir deux paires de clés d'autorisation distinctes : une pour le protocole SSH 1 (RSA) et l'autre pour le protocole SSH 2 (DSA).

AvertissementChaque utilisateur doit avoir sa propre paire de clés
 

Il est nécessaire de générer une paire de clés pour chacun des utilisateurs. Pour gérer une paire de clés pour un utilisateur donné suivez les étapes suivantes +sous l'identité de cet utilisateur. +Si vous le faites en tant qu'utilisateur root, seul l'utilisateur root +pourra utiliser les clés.

Génération d'une paire de clés DSA

Suivez les étapes ci-dessous pour générer une paire de clés DSA. DSA est utilisé par le protocole SSH 2 et est employé par défaut dans Red Hat Linux 7.1.

  1. Pour générer une paire de clés DSA à utiliser avec la version 2.0 du protocole, entrez la commande suivante à l'invite du shell :

    ssh-keygen -t dsa

    Acceptez l'emplacement par défaut du fichier, qui est ~/.ssh/id_dsa. Entrez ensuite une phrase d'accès différente du mot de passe de votre compte et confirmez-la en l'entrant de nouveau.[1]

    TuyauQu'est-ce qu'une phrase d'accès ?
     

    Une phrase d'accès est une chaîne de mots et de caractères utilisée pour authentifier un utilisateur. La différence entre les phrases d'accès et les mots de passe est que vous pouvez utiliser des espaces et des espaces "Tab" dans les phrases d'accès. Celles-ci sont généralement plus longues que les mots de passe car elles constituent de véritables phrases et non pas de simples mots.

  2. Changez les autorisations de votre répertoire .ssh à l'aide de la commande chmod 755 ~/.ssh.

  3. Copiez le contenu de ~/.ssh/id_dsa.pub dans ~/.ssh/authorized_keys2 sur l'ordinateur auquel vous désirez vous connecter. Si le fichier ~/.ssh/authorized_keys2 n'existe pas, vous pouvez copier le fichier ~/.ssh/id_dsa.pub dans le fichier ~/.ssh/authorized_keys2 sur l'autre ordinateur.[1]

  4. Si vous exécutez GNOME, passez à la section intitulée Configuration de ssh-agent à l'aide de GNOME. Si vous n'exécutez pas le système X Window, passez à la section intitulée Configuration de ssh-agent.

Génération d'une paire de clés RSA pour la version 2.0

Suivez les étapes indiquées ci-dessous pour générer une paire de clés RSA pour la version 2.0 du protocole SSH.

  1. Pour générer une paire de clés RSA qui fonctionne avec la version 2.0 du protocole, entrez la commande suivante à l'invite du shell :

    ssh-keygen -t rsa

    Acceptez l'emplacement par défaut du fichier, qui est ~/.ssh/id_rsa. Entrez une phrase d'accès différente du mot de passe de votre compte et confirmez-la en l'entrant de nouveau. [1]

  2. Changez les autorisations de votre répertoire .ssh à l'aide de la commande chmod 755 ~/.ssh.

  3. Copiez le contenu de ~/.ssh/id_rsa.pub dans ~/.ssh/authorized_keys2 sur l'ordinateur auquel vous désirez vous connecter. Si le fichier ~/.ssh/authorized_keys2 n'existe pas, vous pouvez copier le fichier ~/.ssh/id_rsa.pub dans le fichier ~/.ssh/authorized_keys2 sur l'autre ordinateur.[1]

  4. Si vous exécutez GNOME, passez à la section intitulée Configuration de ssh-agent à l'aide de GNOME. Si vous n'exécutez pas le système X Window, passez à la section intitulée Configuration de ssh-agent.

Génération d'une paire de clés RSA pour les versions 1.3 et 1.5

Suivez les étapes indiquées ci-dessous pour générer une paire de clés RSA qui fonctionne avec la version 1 du protocole SSH. Si vos connexions ne se font qu'entre des systèmes Red Hat Linux 7.1, vous n'avez pas besoin d'une paire de clés RSA.

  1. Pour générer une paire de clés RSA (pour les versions 1.3 et 1.5 du protocole), entrez la commande suivante à l'invite du shell :
    ssh-keygen
    Acceptez l'emplacement par défaut du fichier (~/.ssh/identity). Entrez une phrase d'accès différente du mot de passe de votre compte et confirmez-la en l'entrant de nouveau.

  2. Changez les autorisations de votre répertoire .ssh et de vos clés à l'aide des commandes chmod 755 ~/.ssh et chmod 644 ~/.ssh/identity.pub.

  3. Copiez le contenu de ~/.ssh/identity.pub dans le fichier ~/.ssh/authorized_keys sur l'ordinateur auquel vous souhaitez vous connecter. Si le fichier ~/.ssh/authorized_keys n'existe pas, vous pouvez copier le fichier ~/.ssh/identity.pub dans le fichier ~/.ssh/authorized_keys sur l'autre ordinateur. [1]

  4. Si vous exécutez GNOME, passez à la section intitulée Configuration de ssh-agent à l'aide de GNOME. Sinon, passez à la section intitulée Configuration de ssh-agent.

Configuration de ssh-agent à l'aide de GNOME

Vous pouvez vous servir de l'utilitaire ssh-agent pour enregistrer votre phrase d'accès afin de ne pas devoir l'entrer chaque fois que vous effectuez une connexion ssh ou scp. Si vous utilisez GNOME, l'utilitaire openssh-askpass-gnome peut être utilisé de sorte que chaque fois que vous vous connectez à GNOME il vous demande votre phrase d'accès et la garde en mémoire jusqu'à ce que vous quittiez GNOME. Ainsi, vous n'avez pas à entrer votre mot de passe ou votre phrase d'accès lorsque vous débutez une connexion ssh ou scp et ce, durant toute la session GNOME. Si vous n'utilisez pas GNOME, reportez-vous à la section intitulée Configuration de ssh-agent.

Voici les étapes à suivre pour enregistrer votre phrase d'accès lors d'une session GNOME :

  1. Le paquetage openssh-askpass-gnome doit être installé. Utilisez la commande rpm -q openssh-askpass-gnome pour vérifier que cela est bien fait. Si le paquetage n'est pas installé, installez-le à l'aide du CD-ROM Red Hat, d'un site miroir Red Hat ou du Red Hat Network.

  2. Si vous n'avez pas de fichier ~/.Xclients, vous pouvez exécuter switchdesk pour en créer un. Editez la ligne suivante dans votre fichier ~/.Xclients :
    exec $HOME/.Xclients-default
    Changez cette ligne par celle-ci :
    exec	/usr/bin/ssh-agent $HOME/.Xclients-default

  3. Ouvrez le centre de contrôle de GNOME (bouton du menu principal => Programs => Settings => GNOME Control Center) et sélectionnez Session => Startup Programs. Cliquez sur Add et entrez /usr/bin/ssh-add dans la zone de texte Startup Command. Indiquez un numéro de priorité plus élevé que tout autre commande existante pour vous assurer qu'elle sera exécutée en dernier. La commande ssh-add devrait idéalement avoir un numéro de priorité supérieur à 70. Plus le numéro est élevé, plus la priorité est basse. Donc, si vous avez d'autres programmes énumérés, ils doivent avoir un numéro de priorité plus bas que le numéro attribué à la commande ssh-add. Cliquez sur OK pour enregistrer vos changements et quittez le centre de contrôle de GNOME.

  4. Quittez GNOME et connectez-vous de nouveau ; bref, redémarrez X Window. Une fois GNOME lancé, une boîte de dialogue s'ouvre et vous invite à entrer votre ou vos phrases d'accès. Entrez-la. Si vous avez configuré une paire de clés DSA et une paire de clés RSA, le système vous demande d'entrer les deux phrases d'accès. Après cette étape, le système ne devrait plus vous demander d'entrer votre phrase d'accès lorsque vous effectuez une connexion ssh, scp ou sftp.

Configuration de ssh-agent

Vous pouvez utiliser l'utilitaire ssh-agent pour enregistrer votre phrase d'accès afin de ne pas devoir l'entrer chaque fois que vous effectuez une connexion ssh ou scp. Si vous n'exécutez pas le système X Window, suivez les étapes indiquées ci-dessous depuis l'invite du shell. Si vous exécutez X Window, mais ne voulez pas le configurer de sorte qu'il vous demande votre phrase d'accès lorsque vous vous y connectez (voir la section intitulée Configuration de ssh-agent à l'aide de GNOME), vous pouvez appliquer cette méthode dans un terminal comme Xterm. Si vous exécutez X Window, mais n'exécutez pas GNOME, cette méthode peut également être appliquée dans un terminal comme Xterm, toutefois votre phrase d'accès ne sera mémorisée uniquement que pour ce terminal ; il ne s'agit pas d'un réglage qui s'applique à l'ensemble du système.

  1. Entrez la commande suivante à l'invite du shell :
    exec /usr/bin/ssh-agent $SHELL
    Entrez ensuite la commande
    ssh-add 
    et votre phrase d'accès (ou vos phrases d'accès). Si vous avez deux paires de clés (DSA et RSA), le système vous invite à entrer les deux phrases d'accès.

  2. Lorsque vous quittez, le système "oublie" votre phrase d'accès. Vous devez ainsi exécuter ces deux commandes chaque fois que vous vous connectez à une console virtuelle ou que vous ouvrez un terminal.

Notes

[1]

Le symbole ~ correspond au répertoire personnel de l'utilisateur connecté. Reportez-vous au Guide de démarrage officiel Red Hat Linux pour avoir plus de détails là-dessus.