Ssh

Un article de Haypo.

Retour aux articles de réseau

ssh est un outil permettant de se connecter de manière sécurité à un ordinateur. On peut l'utiliser pour ouvrir un terminal à distance ou pour rediriger un port sur une machine distante. À partir de ces deux fonctionnalités de base ont été trouvées un grand nombre de fonctionnalités :

  • Copier un fichier à distance avec la commande scp
  • Faire transiter une connexion POP, FTP, ou autre via un tunnel SSH pour éviter de se faire sniffer les mots de passe
  • etc.

[modifier] Redirection de port

Bon, imaginons que vous désirer discuter sur IRC, mais que le port 6667 soit fermé (classique ;-)), mais que le port 22 soit ouvert (aaaah, le port de ssh). L'astuce consiste à ouvrir la connexion sur un autre ordinateur qui a accès au port 6667 et qui possède un serveur ssh. La commande à utiliser est alors :

ssh -L 6667:serveur_irc:6667 passerelle -N &

passerelle est le pc auquel vous vous connectez pour utiliser IRC. Le "&" permet de lancer ssh en tâche de fond, et « -N » indique que nous ne désirons pas ouvrir de terminal.

Vous aurez alors un port 6667 ouvert en local qui sera en fait serveur_irc:6667. Génial nan ?

Pour fermer la connexion, tapez « ps ax | grep ssh » et notez l'identifiant du processus (pid) du ssh que vous utilisez. Tapez alors « kill -15 pid » où pid est l'identifiant que je vous ai fait noter. Pas de contraire, ça ne tue pas le programme, mais lui demande poliment de se quitter (contrairement à kill -9 qui est radical).

Autre exemple pour bien comprendre le sens des arguments :

ssh -L 8080:www.linuxfr.org:80 passerelle -N &

Cette commande permet d'avoir un alias local pour le site http://www.linuxfr.org. Essayez cette commande, puis l'adresse « http://127.0.0.1:8080/ » pour voir ;-) Euh en fait cet exemple n'est pas très parlant car on retombe sur le vrai site linuxfr.org à tous les coups ...

[modifier] Problème d'encodage

Lorsqu'on se connecte depuis un ordinateur configuré en utf-8 vers un ordinateur qui tourne en iso-8859-1, on peut utiliser le programme luit. Il va convertir automatiquement les charset dans les deux sens. Ce qui donne comme commande :

luit -encoding iso-8859-1 ssh user@server
Bien sûr, si le terminal distant tourne en iso-8859-1, n'espérez pas entrer des caractères tels que
ğ
,
, ou encore
...
Récupérée de « http://haypocalc.com/wiki/Ssh »