Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

10.3. Clients OpenSSH

Pour vous connecter à un serveur OpenSSH depuis une machine cliente, vous devez avoir installé le paquet openssh-clients (voir Section 8.2.4, « Installation de paquets » pour plus d'informations sur la façon d'installer de nouveaux paquets dans Red Hat Enterprise Linux).

10.3.1. Comment se servir de l'utilitaire ssh

L'utilitaire ssh vous permet de vous connecter à une machine distante et à y exécuter des commandes à cet endroit. Cela remplace les programmes rlogin, rsh, et telnet.
De même que pour la commande telnet, connectez-vous à une machine distante par la commande suivante :
ssh hostname
Ainsi, pour vous connecter à une machine distante nommée penguin.example.com, saisir ce qui suit quand on vous y invite :
~]$ ssh penguin.example.com
Cela vous enregistrera avec le même nom d'utilisateur que vous utilisez sur votre machine locale. Si vous souhaitez spécifier un nom d'utilisateur différent, utilisez une commande de la forme suivante :
ssh username@hostname
Ainsi, pour vous connecter à penguin.example.com en tant que USER, saisir :
~]$ ssh USER@penguin.example.com
La première fois que vous initierez une connexion, vous verrez apparaître un message similaire à celui-ci :
The authenticity of host 'penguin.example.com' can't be established.
ECDSA key fingerprint is 256 da:24:43:0b:2e:c1:3f:a1:84:13:92:01:52:b4:84:ff.
Are you sure you want to continue connecting (yes/no)?
Les utilisateurs doivent toujours vérifier si l'empreinte est correcte avant de répondre à la question dans cette boîte de dialogue. L'utilisateur peut demander à l'administrateur du serveur de bien confirmer que la clé est correcte. Cela devrait être fait de manière sécurisée et préalablement convenue. Si l'utilisateur a accès aux clés d'hôte du serveur, l'empreinte digitale peut être vérifiée à l'aide de la commande ssh-keygen, comme suit :
~]# ssh-keygen -l -f /etc/ssh/ssh_host_ecdsa_key.pub
256 da:24:43:0b:2e:c1:3f:a1:84:13:92:01:52:b4:84:ff   (ECDSA)
Tapez yes pour accepter la clé et confirmer la connexion. Vous verrez une notice apparaître vous indiquant que le serveur a été ajouté à la liste des hôtes connus et une invite vous demandant votre mot de passe :
Warning: Permanently added 'penguin.example.com' (ECDSA) to the list of known hosts.
USER@penguin.example.com's password:

Important

Si la clé de l'hôte du serveur SSH change, le client informera l'utilisateur que la connexion ne peut pas avoir lieu tant que la clé du serveur hôte n'est pas supprimée du fichier ~/.ssh/known_hosts. Avant de procéder, cependant, contactez l'administrateur systèmes du serveur SSH pour vérifier que le serveur n'est pas compromis.
Pour supprimer une clé du fichier ~/.ssh/known_hosts, lancez la commande suivante :
~]# ssh-keygen -R penguin.example.com
# Host penguin.example.com found: line 15 type ECDSA
/home/USER/.ssh/known_hosts updated.
Original contents retained as /home/USER/.ssh/known_hosts.old
Une fois que vous aurez saisi le mot de passe, vous apercevrez une invite de shell pour la machine distante.
Sinon, le programme ssh peut être utilisé pour exécuter une commande sur la machine distante sans qu'il soit nécessaire de vous connecter à une invite de shell :
ssh [username@]hostname command
Ainsi, le fichier /etc/redhat-release vous donne des informations sur la version Red Hat Enterprise Linux. Pour voir le contenu de ce fichier dans penguin.example.com, saisissez :
~]$ ssh USER@penguin.example.com cat /etc/redhat-release
USER@penguin.example.com's password:
Red Hat Enterprise Linux Server release 7.0 (Maipo)
Une fois que vous aurez saisi le mot de passe qui convient, le nom d'utilisateur apparaîtra, et vous pourrez retourner à votre invite de shell locale.

10.3.2. rsh

La commande scp peut être utilisée pour transférer des fichers entre des machines à travers une connexion cryptée sécurisée. Le concept ressemble à celui de rcp.
Pour transférer un fichier local dans un système distant, utiliser une commande de la forme suivante :
scp localfile username@hostname:remotefile
Ainsi, si vous souhaitez transférer taglist.vim vers une machine distante nommée penguin.example.com, saisissez ce qui suit dans l'invite de commande :
~]$ scp taglist.vim USER@penguin.example.com:.vim/plugin/taglist.vim
USER@penguin.example.com's password:
taglist.vim                                   100%  144KB 144.5KB/s   00:00
Vous pouvez spécifier plusieurs fichiers à la fois. Pour transférer les contenus de .vim/plugin/ dans le même répertoire d'une machine distante penguin.example.com, saisissez la commande suivante :
~]$ scp .vim/plugin/* USER@penguin.example.com:.vim/plugin/
USER@penguin.example.com's password:
closetag.vim                                  100%   13KB  12.6KB/s   00:00
snippetsEmu.vim                               100%   33KB  33.1KB/s   00:00
taglist.vim                                   100%  144KB 144.5KB/s   00:00
Afin d'autoriser les utilisateurs à créer des fichiers dans le répertoire, utilisez la commande suivante :
scp username@hostname:remotefile localfile
Ainsi, pour télécharger le fichier de configuration .vimrc d'une machine distante, saisissez :
~]$ scp USER@penguin.example.com:.vimrc .vimrc
USER@penguin.example.com's password:
.vimrc                                        100% 2233     2.2KB/s   00:00

10.3.3. rsh

L'utilitaire sftp peut être utilisé pour ouvrir une session FTP interactive, sécurisée. Dans le concept, c'est similaire à ftp sauf qu'on utilise une connexion sécurisée, cryptée.
Pour vous connecter à un système distant, utiliser une commande qui ressemble à ce qui suit :
sftp username@hostname
Ainsi, pour vous connecter à une machine distante nommée penguin.example.com, avec USER comme nom d'utilisateur, saisissez ce qui suit :
~]$ sftp USER@penguin.example.com
USER@penguin.example.com's password:
Connected to penguin.example.com.
sftp>
Une fois que vous aurez saisi le mot de passe qui convient, vous verrez une invite se présenter. L'utilitaire sftp accepte un ensemble de commandes qui ressemble à celles utilisées avec ftp (voir Tableau 10.3, « Une sélection de commandes sftp disponibles »).

Tableau 10.3. Une sélection de commandes sftp disponibles

CommandeDescription
ls [directory]Lister le contenu du directory (répertoire) distant. S'il n'y en aucun, on utilisera le répertoire de travail en cours par défaut.
cd directoryChanger le répertoire de travail distant à répertoire.
mkdir répertoire--smbservers=<server>
rmdir cheminSupprimer un répertoire distant.
put fichier local [fichier distant]Transférer le fichier local à une machine distante.
get fichier distant [fichier local]Transférer le fichier distant à partir d'une machine distante.
Pour obtenir une liste complète des commandes disponibles, voir la page man de sftp(1).