libre libre    fcys14 tux asterix pitit SSHlibre portfolio cisoun tux tux ya kelk1 pitit SSHSSH

Aujourd’hui, quelques astuces d’utilisation du SSH (secure shell).

SSH est un protocole qui permet d’établir un lien entre deux ordinateurs. Très utilisé sur des systèmes de type Unix, il est aussi possible de l’utiliser avec Windows©. SSH permet : l’exécution d’applications en lignes de commande ou en graphique depuis la machine hôte, la redirection de ports, le transfert de fichiers. Il utilise le port 22, il faut donc que les communications sur ce port soient autorisées. Malgré tout, il existe un moyen pour faire du ssh même si tous les ports sont fermés en entrée. C’est le principe du reverse SSH qui utilise pleinement la redirection de ports !

Installation

Sous Ubuntu, c’est le paquet openssh qui permet d’installer le serveur.

Connexion

En ligne de commande, la commande ssh login@ipdelamachine permet la connexion directe. La connexion étant sécurisée, la première fois qu’on contacte une nouvelle machine, celle-ci envoie sa clé (une sorte d’empreinte) qui garantie que lors des prochaines connexions on se connectera bien à la bonne machine. Une fois cette authentification physique de la machine effectuée, une invite demande d’entrer le mot de passe. Une fois ceci fait, nous sommes maintenant sur la machine distante. Nous pouvons explorer le contenu du disque et lancer des commandes.

Astuce : pour savoir qui d’autre est connecté à la machine, utiliser la commande who .

Lancer des applications en mode graphique

Le SSH permet de lancer des applications de la machine distante. L’application sera totalement lancée sur la machine distante, seules les trames graphiques seront traitées par notre propre machine. Il est à noter que de ce fait, le processus est assez économique du point de vue de la puissance processeur de notre machine, mais extrèmement gourmand en ce qui concerne l’utilisation de la bande passante.

Pour pouvoir utiliser cette fonction, il faut rajouter l’option -X à la demande de connexion :

ssh -X login@ip

Puis de lancer le nom du programme (eg : firefox &). Rappel : le & dans l’exemple indique qu’on souhaite lancer le programme en tache de fond, c’est à dire garder la main sur la console.

Transfert de fichier

Le transfert de fichier se fait par le protocole sftp : ftp sur du ssh.

sftp chemin/et/nom/du/fichier/local login@ip:/chemin/du/fichier/distant

Le rapatriement de fichier se fait de la même façon :

sftp login@ip:/chemin/et/nom/du/fichier/distant /chemin/du/fichier/local

Il est aussi possible de le faire en visuel interactif avec Konqueror ou Nautilus grâce aux protocoles sftp, fish ou scp.

Cascading et Reverse ssh

SSH permet le cascading  : Imaginez la situation, un parefeu bloque les connections sur une machine 1 depuis les machines à l’extérieur d’un réseau donné dont la notre la machine 0, mais vous avez accès à la connection ssh sur une machine 2 qui fait aussi partie de ce réseau. Alors nous pouvons nous connecter avec la machine 0 sur la machine 1 et relancer une connection sur la machine 2 à partir de l’interface ouverte.

Une autre astuce est de laisser en permanence ouverte une connexion ssh de la machine 1 à la machine 2, qui fait une redirection de ports : techniquement, quand avec la machine 0 on fera une connection ssh sur le port 2243 de la machine 2 par exemple, alors ça répercuterait sur la machine 1 sur le port 22 la demande :

Mots-clefs :, , , , | Classé dans : Libre, Portfolio | Permalien