Projet

Général

Profil

SSH » Historique » Version 17

Version 16 (Charles-Alban Benezech, 16/04/2012 10:20) → Version 17/53 (Charles-Alban Benezech, 16/04/2012 10:23)

{{>toc}}

h1. SSH

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

h1. Le Secure SHell (SSH)

h2. 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é avec des technologies comme le Virtual Private Network (VPN).
!http://img41.imageshack.us/img41/5632/schemassh.jpg!
La technique de tunnel pour chiffrer les communications sera utilisée pour assurer la confidentialité, l’intégrité et l'authenticité de la dite communication lorsque les communications transiteront sur un réseau non fiable (internet par exemple). En effet, le tunnel prendra tout son sens lors de connexions entre sites distants échangeant des informations. Plusieurs protocoles sont utilisables afin d'établir des connexions sécurisés; voici quelques exemples: L2TP, TLS, IPSEC... SSH dans sa deuxième version intègre un protocole de systèmes 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 machines entre elles en créant un tunnel. Afin d'établir la connexion entre les deux machines, ssh a 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 publiques devront être distribuées sur toutes les machines sur lesquelles l'utilisateur désirera se connecter.

h2. Utilisation

Afin d'établir une connexion entre deux machines via SSH il existe plusieurs méthodes diverses et variées. Tous d'abord, on peut commencer par dissocier les systèmes Windows, Linux et Mac. Je vais présenter les différentes manières de se connecter à une machine distante (serveur linux) via SSH sur ces différentes plate-formes. Dans un souci soucis de permettre une meilleure compréhension voici un petit bilan d'information présentant les futures configurations à 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...

h2. *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é.
!http://img339.imageshack.us/img339/9020/sshconnectionputty.png!
Etant la première fois que nous établissons une connexion vers ce serveur,avant d'établir la connexion, Putty va nous demnander s'il peut rajouter le serveur (sa signature numérique)dans la liste des serveurs autorisés.
!http://img685.imageshack.us/img685/9701/sshconnectionputtyregis.png!
Une fois la connexion établie il ne nous reste plus qu'à nous loger sur le serveur grâce à notre identifiant.
!http://img855.imageshack.us/img855/9994/sshconnectionputtylogin.png!
Vous êtes maintenant connecté à votre machine au travers d'un tunnel ssh.

h2. *Linux*

Pour permettre les connexions sous linux deux solutions s'offrent à 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 identifiants. Pour ce faire nous nous logerons sous notre utilisateur sur notre machine et executerons la commande ssh.
!http://img801.imageshack.us/img801/7978/sshconnexionlinuxlogins.png!

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 (/HOMEDIR/.ssh) ainsi qu'une copie de la clé publique et une autre copie de la clé publique sera envoyée 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
!http://img811.imageshack.us/img811/4246/ssconnexionlinuxcreatio.png!
Maintenant que notre clé est créée nous allons devoir l'envoyer à la machine sur laquelle nous voulons nous loger
!http://img23.imageshack.us/img23/2088/sshconnexionlinuxenvoic.png!
Nous pouvons maintenant essayer de nous loger
!http://img837.imageshack.us/img837/5267/sshconnexionlinuxfin.png!
et voilà! Nous avons une connexion ssh automatisée sans avoir besoin d'échanger des mots de passe ou passphrase et tout aussi sécurisée.

h2. Mac

h3. en cours