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 »).
Commande | Description |
---|---|
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 directory | Changer le répertoire de travail distant à répertoire. |
mkdir répertoire | --smbservers=<server> |
rmdir chemin | Supprimer 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).