ssh - OpenSSH SSH client (remote login program)
Description
ssh (client SSH) est un programme pour se connecter à une machine distante et pouvoir éxecuter des commandes sur cette machine.
Il tente de remplacer rlogin et rsh, permet un accés sécurisé et des communications chiffrées (encrypted) entre deux machines (hôtes) au travers d’un réseau non sécurisé.
Les connections au serveur X11 ainsi que des ports TCP/IP peuvent aussi être relayés au travers de ce canal sécurisé.
Liens
http://fr.gentoo-wiki.com/HOWTO_Tunnels_et_utilisation_avanc%C3%A9e_de_ssh
Accés à une machine distante
Authentification
Le mode d’accés à un système le plus courant recquiert de spécifier le nom de l’utilisateur (login) ainsi que son mot de passe sur la machine à laquelle nous souhaitons nous connecter.
Le symbole @ que vous utilisez pour relever ou envoyer du courrier signifie “chez”.
Ainsi pour vous connecter il vous faudra une compte utilisateur sur la machine.
En admettant que Toto soit votre nom d’utilisateur, vous vous connecterez au serveur ssh de linucie.net avec une commande de la forme:
ssh Toto@linucie.net
Explication: ssh est la commande permettant de se connecter.
Ceci signifie litéralement: connecte moi en tant que Toto chez linucie.net
Nb: notez que Toto et toto seront deux comptes différents !
Avoir accés aux ressources d’une machine distante
Principe du tunnel
Un service tourne généralement sur un port sur lequel il est accessible.
Un des services les plus connus étant sûrement le service http auquel vous accédez depuis votre navigateur internet via le port 80, nous prendrons donc l’exemple d’un serveur http (ex: Apache) tournant sur une machine distante (ie. hors de notre réseau local).
Vous devez bien sûr déja pouvoir vous connecter à cette machine avec ssh.
La machine distante se nomme monwebchezmoi, l’adresse à laquelle elle répond est celle accordée par votre FAI à votre machine ou à votre routeur. Nous utiliserons le nom monwebchezmoi, pour faciliter la compréhension mais vous devrez sûrement remplacer ce nom par cette adresse IP (ex: 82.100.100.100).
Si vous avez un routeur (FAIBoîte par exemple) vous devrez faire suivre le port 22 de votre routeur vers celui (le port 22) de votre machine monwebchezmoi qui aura Apache en service mais aussi ssh.
Nb: le serveur ssh peut tourner sur une autre machine de votre réseau ;)
La commande suivante permettra d’apporter via le tunnel ssh la sortie du port 80 (serveur http) de monwebchezmoi, sur votre machine locale (monwebchezmoi étant distante car accessible au travers d’internet).
sudo ssh -N -L 80:localhost:80 Toto@monwebchezmoi
Explication:
80:localhost:80
Le premier 80 (le plus proche de vous) correspond au port de votre machine sur lequel arrivera la sortie du tunnel.
localhost est le nom de la machine sur le réseau distant, nous aurions pu remplacer par le nom ou l’adresse d’une machine du réseau distant. Ici Apache et ssh sont sur la même machine, désignée par localhost donc.
Le second 80 (le plus proche de Toto@monwebchezmoi qui équivaut à l’adresse de la machine distante) est quant à lui le port du serveur Apache qui tourne donc sur votre machine monwebchezmoi.
Enfin sudo car vous utilisez un port < 1000, il vous faut donc les droits root.
Ainsi dans l’hypothèse où vous avec un serveur http chez vous sur votre machine, que vous êtes au boulot (pas chez vous), vous pouvez accéder à votre serveur aprés cette commande et suivant notre exemple en allant avec votre navigateur favori à l’adresse:
http://mamachineautaf ou http://localhost
Si vous changez le port de sortie du tunnel par 8080 par exemple, cf:
sudo ssh -N -L 8080:localhost:80 Toto@monwebchezmoi
Alors votre serveur sera accessible:
Recommandations
Si votre machine monwebchezmoi est directement connectée au net (vous n’avez pas de routeur), évitez de démarrer un service tel qu’Apache car celui sera accessible aussi depuis l’Internet !
L’exemple sous entend que votre serveur Apache est isolé du net, derrière un parefeu et que seul ssh est accessible depuis l’Internet.
Dans ce cas les données transmises entre votre navigateur et votre serveur Apache à l’autre bout du tunnel sont sécurisées (difficilement lisible depuis l’Internet)
Page mise à jour le 15 novembre 2005 à 16h43.