Projet

Général

Profil

SSH » Historique » Version 11

« Précédent - Version 11/53 (diff) - Suivant » - Version actuelle
Charles-Alban Benezech, 12/04/2012 21:26


SSH

TODO: tutorial sur l'outil ssh depuis zéro
TODO: avancé redirection de port, ssh-agent pour rebondir sur des machines

Le Secure SHell (SSH)

Introduction

Le SSH est un protocole permettant de créer un tunnel entre deux machines ou plus. La création d'un tunnel consiste en l'encapsulation par un protocole réseau d'un autre protocole réseau de même couche (modèle OSI) ou supérieur, ainsi les données échangées dans le datagramme seront illisibles car protégées par le protocole ssh qui chiffrera le contenu. Ce protocole peut-être utilisé par exemple liée avec des technologies comme le Virtual Private Network (VPN).

La technique de tunnel pour chiffré les communications sera utilisé pour assuré la confidentialité, l’intégrité et l'authenticité de la dites communication lorsque les communication transiteront sur un réseau non fiable (internet par exemple). En effet, le tunnel prendra tout son sens lors de connexion entre sites distant échangeant des informations. Plusieurs protocole sont utilisables afin d'établir des connexion sécurisé, voici quelques exemples: L2TP, TLS, IPSEC.SSH dans sa deuxième version intègre un protocole de système de fichiers, Ssh File Tranfert Protocole (SFTP, à ne pas confondre avec FTPS (FTP over SSL)), il est aussi utilisé pour la commande scp.
SSH est un protocole mais aussi un programme basé sur ce protocole qui permet de connecter les machine entre elles en créant un tunnel. Afin d'établir la connexion entre les deux machines ssh à besoin de vérifier l'identité de la personne qui essaye d'établir la connexion. Pour cela SSH peut utiliser deux méthodes, établir la connexion et ouvrir un prompt d'authentification où l'utilisateur devra entrer son login et son mot de passe ou il peut utiliser un crypto-système asymétrique, pour cette dernière les clés publique devront être distribuées sur toutes les machines sur lesquelles l'utilisateur désirera se connecter.

Utilisation

Afin d'établir une connexion entre deux machines via SSH il existe plusieurs méthodes divers variées. Tous d'abord on peut commencer par dissocier les systèmes Windows, Linux et Mac. Je vais présenter les différente manière de se connecter à une machine distante (serveur linux) via SSH sur ces différentes plate-formes. Dans un soucis de permettre une meilleure compréhension voici un petitbilan d'information présentant les futurs configuration à venir
Configuration du Serveur
Nom: LCOSTST01
OS: centos
Configuration Windows
Nom: pc01
OS: Windows seven
Logiciel: putty
Configuration Linux
Nom: LCOSTST02
OS: CentOS
Logiciel: ssh
Configuration Mac
en cours...

Windows

Afin d'établir une connexion SSH entre l'utilisateur et LCOSTST01 nous allons utiliser l'utilitaire Putty. Une fois l'utilitaire lancé nous allons devoir entrer le nom de la machine ou son adresse IP puis le port ciblé.

Etant la première fois que nous établissons une connexion vers ce serveur,avant d'établir la connexion, Putty va nous demnander si il peut rajouter le serveur (sa signature numérique) dans la liste des serveurs autorisé.

Une fois la connexion établie il ne nous reste plus qu'à nous loger sur le serveur grâce à notre identifiant.

Vous êtes maintenant connecté à votre machine au travers d'un tunnel ssh.

Linux

Pour permettre les connexions sous linux deux solutions s'offre à nous. La première consiste à se connecter directement avec le programme ssh sur la machine visée, il ouvrira de cette manière un prompt et nous devrons nous loger avec nos identifiant. Pour ce faire nous nous logerons sous notre utilisateur sur notre machine et executerons la commande ssh.

La deuxième consiste à utiliser un crypto-système asymétrique, ainsi nous créerons une clé publique et une clé privée. La clé privée restera sur le serveur dans son dossier (/home/.ssh) ainsi qu'une copie de la clé publique et une autre copie de la clé publique sera envoyé sur le serveur sur lequel on veut se connecter automatiquement, il nous suffira d'ajouter la clé publique à la liste des clés autorisées.
Dans un premier temps nous allons devoir créer la clé privée

Maintenant que notre clé est créer nous allons devoir l'envoyer à la machine sur laquelle nous voulons nous loger

Nous pouvons maintenant essayer de nous loger

et voilà! Nous avons une connexion ssh automatisé sans avoir besoin d'échanger des mot de passe ou passphrase et tout aussi sécurisé.