logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


La commande SSH

Introduction

ssh fonctionne sur le mode client/serveur.

  • Il y a d'un côté le serveur, la machine que l'on veut administrer, sur laquelle on veut se connecter, et qui écoute sur le port 22;
  • Et de l'autre côté le client, la machine depuis laquelle on veut établir la connexion.

Dans la suite, nous présenterons les deux parties, d'abord la partie cliente : comment faire pour vous connecter à un serveur ssh existant, et ensuite la partie serveur : comment configurer votre machine pour qu'elle puisse jouer le rôle de serveur ssh.

Client SSH

Lorsque vous démarrez votre ordinateur, à moins que vous n'ayez configuré de connexion automatique, il vous est demandé un nom d'utilisateur et un mot de passe. C'est le processus de login qui vous permet de vous authentifier en tant qu'utilisateur de la machine. À l'issue de cette authentification, vous avez accès à une interface vous permettant de lancer des commandes, souvent une interface graphique comme GNOME, mais cela peut également être un shell.

Le principe ici va être le même : via un canal sécurisé1) vous allez fournir un nom d'utilisateur et un mot de passe à une machine, cette fois-ci distante.

Installation

Comme d'habitude, ça tient en une ligne :

apt-get install openssh-client

Utilisation

Pour pouvoir accéder à une machine via la couche IP (qu'utilise SSH), il nous faut soit l'adresse IP de la machine, soit son nom d'hôte. Par exemple, pour le serveur Debian, vous pouvez lui envoyer des ping via « ping debian.org » ou via « ping 128.31.0.51 ».

Obtenir un shell distant

Pour vous connecter sous le nom d'utilisateur jojo sur la machine d'IP coincoin, vous faites simplement :

ssh jojo@coincoin

Si le serveur ssh distant n'écoute pas sur le port 22, vous pouvez spécifier le port à l'aide de l'option -p :

ssh -p 1234 jojo@coincoin

Obtenir un shell distant avec export X

Il est possible de lancer une application graphique sur le serveur distant qui s'affichera sur votre ordinateur client. Pour vous connecter sous le nom d'utilisateur jojo sur la machine d'IP coincoin et obtenir l'export X, vous faites simplement :

ssh -X jojo@coincoin

Il suffit ensuite de lancer votre application graphique via le shell obtenu.

Rediriger un port local vers un port distant

FIXME

Rediriger un port distant vers un port local

FIXME

Configuration

Par défaut, SSH n'a pas besoin de configuration. Cependant, il est possible pour se simplifier la vie ou pour les cas particuliers de préciser quelques informations sur les connexions que l'on effectue régulièrement.

Cela se fait au moyen de l'édition du fichier ~/.ssh/config, à créer s'il n'existe pas.

Si vous vous connectez régulièrement sur l'ordinateur de votre maman, d'IP ordi.de.ma.maman sous le nom d'utilisateur gaston, et sachant que son serveur écoute sur le port 444, ajoutez ceci dans le fichier de configuration :

Host maman
Hostname ordi.de.ma.maman
User gaston
Port 444

Il vous suffit maintenant de taper la ligne suivante pour vous connecter sur l'ordi de votre môman :

ssh maman

Vous pouvez rajouter plusieurs alias comme celui-ci dans le fichier de configuration. Pour une liste de toutes les options disponibles, et il y en a une… floppée :

man ssh_config

Recommandation importante

Jojo vous recommande de ne pas ouvrir cette connection SSH tel quelle sur le net… il y a des malins qui forcent le passage pour entrer chez vous en essayant des tetra…floppées de mot de passes courants ;-).

Donc si vous voulez exporter une session SSH via un PC a 18 000 km :-D de chez vous, restez prudents et sécurisez-là au maximum, en utilisant par exemple une clé RSA (voir par la suite dans les TP)

Problèmes courants

Après réinstallation du serveur

Si le pc serveur est réinstallé, la clé unique l'identifiant est changée. Le client va détecter le changement et soupçonner que quelqu'un d'autre essaye de se faire passer pour le serveur original. Vous obtiendrez un message comme celui-ci :

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:9
RSA host key for 192.168.X.XX has changed and you have requested strict checking.
Host key verification failed.

Ce message indique la ligne contenant l'empreinte de l'ancien serveur :

 Offending key in /home/user/.ssh/known_hosts:9

Il faut donc supprimer la 9ème ligne de son fichier :

 /home/user/.ssh/known_hosts

Donc nous éditons2) simplement ce fichier en user3) :

vim .ssh/known_hosts

et nous supprimons cette 9ème ligne.
Ainsi, à notre prochain contact vers le serveur, après le yes d'acceptation habituelle, une nouvelle cle d'identification sera créée et tout ira pour le meilleur des mondes ssh possible.

TP

Serveur SSH

Installation

apt-get install openssh-server

Configuration

La configuration par défaut est très bonne.

Si vous voulez la personnaliser, il vous faut éditer le fichier /etc/ssh/sshd_config.

Plus d'infos dans le man sshd_config.

TP

TODO

  • Rediriger le port 22 de la freebox/livebox/whateverbox vers votre machine pour vous connecter chez vous depuis l'extérieur
  • Utilisation de clés RSA
  • Configuration de SSH comme sevreur de fichier.
1)
mais ça, c'est ssh qui s'en charge via openssl
doc/reseau/ssh/client.1376943806.txt.gz · Dernière modification: 19/08/2013 22:23 par captnfab

Pied de page des forums

Propulsé par FluxBB