P. 1
Description

Description

|Views: 25|Likes:
Published by radouane

More info:

Published by: radouane on Feb 05, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

05/11/2014

pdf

text

original

SSH

SSH
Description

SSH signifie Secure SHell Protocole qui permet de faire des connexions sécurisées (i.e. cryptées) entre un serveur et un client SSH. La totalité de la transaction entre un client et le serveur est cryptée.

L'établissement d'une connexion SSH

Un serveur SSH dispose d'un couple de clés RSA stocké dans le répertoire /etc/ssh/ et généré lors de l'installation du serveur. Le fichier ssh_host_rsa_key contient la clé privée et a les permissions 600. Le fichier ssh_host_rsa_key.pub contient la clé publique et a les permissions 644.

L'établissement d'une connexion SSH
1. Le serveur envoie sa clé publique au client. 2. Le client génère une clé secrète et l'envoie au serveur, en cryptant l'échange avec la clé publique du serveur. 3. Le serveur décrypte la clé secrète en utilisant sa clé privée, ce qui prouve qu'il est bien le vrai serveur.

L'établissement d'une connexion SSH
1. Pour le prouver au client, il crypte un message standard avec la clé secrète et l'envoie au client. 2. Une fois la clé secrète échangée, le client et le serveur peuvent alors établir un canal sécurisé grâce à la clé secrète commune (cryptographie symétrique). 3. La canal sécurisé reste en place jusqu'à ce que l'utilisateur se déloggue.

L'établissement d'une connexion SSH

La seule contrainte est de s'assurer que la clé publique présentée par le serveur est bien sa clé publique. demander à l'administrateur du serveur quelle est le fingerprint de la clé publique du serveur. Le fingerprint d'une clé publique est une chaîne de 32 caractères hexadécimaux unique pour chaque clé. il s'obtient grâce à la commande ssh-

Installation du client

Le client SSH est disponible dans le paquet openssh-client. /etc/ssh/ssh_config: fichier de configuration client SSH. Les informations spécifiques à un utilisateur sont stockées dans son répertoire personnel à l'intérieur du répertoire ~/.ssh/:

Installation du client

authorized_keys ou authorized_keys2: ce fichier contient une liste de clés publiques "autorisées". id_dsa: contient l'identité d'authentification DSA de l'utilisateur. id_dsa.pub: la clé DSA publique de l'utilisateur. id_rsa: la clé RSA publique utilisée par sshd pour la version 2 du SSH.

Installation et Configuration du serveur SSH

# apt-get install openssh-server /etc/ssh/sshd_config:

Port 22: Signifie que le serveur SSH écoute sur le port 22. PermitRootLogin yes: Signifie que vous pouvez vous logguer en root par SSH. X11Forwarding yes: Signifie que vous allez pouvoir travailler en export display par SSH.

Authentification par mot de passe

ssh login@nom_DNS_du_serveur_SSH Si c'est la première connexion SSH depuis ce client vers ce serveur, il vous demande si le fingerprint de la clé publique présentée par le serveur est bien le bon. la clé publique du serveur est alors rajoutée au fichier ~/.ssh/known_hosts. Entrez votre mot de passe.

Authentification par clé
Générer ses clés

ssh-keygen -t dsa Les clés générées (pub et priv) ont par défaut une longueur de 1024 bits. la clé privée est stockée dans le fichier ~/.ssh/id_dsa avec les permissions 600 la clé publique est stockée dans le fichier ~/.ssh/id_dsa.pub avec les permissions 644. il vous demande une pass phrase.

Authentification par clé
Autoriser votre clé publique

Copier votre clé publique dans le fichier ~/.ssh/authorized_keys de la machine distante. ssh-copy-id -i ~/.ssh/id_dsa.pub login@nom_DNS_du_serveur ssh login@nom_DNS_du_serveur_SSH

Transfert de fichiers par SSH


scp test1.txt toto@ordi1.exemple.org: scp toto@ordi2.exemple.org:test2.txt . scp toto@ordi2.exemple.org:/usr/local/*.t xt test-scp scp -r test-scp toto@ordi1.exemple.org:incoming Utiliser lftp: lftp sftp://toto@ordi1.exemple.org

Se logguer par SSH sans taper de mot de passe

ssh-agent : ce programme tourne en tâche de fond et garde la clef en mémoire. La commande ssh-add permet de donner sa clé à ssh-agent. quand vous utilisez le client SSH, il contacte ssh-agent pour qu'il lui donne la clé.

Faire des tunnels SSH

C'est un moyen simple de crypter n'importe quelle communication TCP entre deux machine. Tunnel SSH pour une connexion HTTP vers la machine serveur.exemple.org:

ssh -L 2012:serveur.exemple.org:80 toto@serveur.exemple.org http://localhost:2012

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->