ShellMates
SSH
Secure SHell
Initiation au SSH
SMAHI Zakaria <z_smahi@esi.dz>
Novembre 2013
C'est quoi SSH ?
● SSH = Secure SHell.
● SSH est à la fois un programme informatique et
un protocole réseau sécurisé.
● Port utilisé 22.
● Echange de clé de chifrement ; au début de la
connexion.
● Conçu pour remplacer rlogin ; telnet et rsh.
● Défini par plusieurs recommendations:RFC
4251..4254.
Historique
● 1ére version : Tatu Ylonen; en Finlande 1995;a
conçu le 1er programme utilisant ce protocole.
● Tatu a créé l'entreprise SSH Communications
Security a fin d'exploiter cette innovation.
● 2éme version : 2006 par le groupe de
recherche « secsh ».
● La version 2 est la plus utilisée à travers le
monde, plus sécurisée , intégre le SFTP.
SSH et authentification par clés
● Cryptage Symétrique / Assymétrique.
● Client demande une connexion , serveur lui envoie sa clé
publique.
● Clé reçue est utilisée pour envoyer une clé secrete au serveur.
● Le serveur reçoit la clé publique et la décrypte avec sa clé
privée prouvant qu'il est bien le serveur .
● Pour le prouver au client, le serveur crypte un message type
avec la clé publique du client et lui envoie. Si le client arrive à
lire le message en le décryptant avec sa clé privé il a l'assure
de communiquer avec le véritable serveur.
● Le canal de commmunication sécurisée est alors créé.
Implémentation de SSH
● Open SSH ( l'implémentation la plus
utilisée); Open ssh portable
multiplateforme.
● Putty.
● Lsh ( Gnu-GPL).
● MacSSH ( Lsh pour MacOs).
● SSH pour Iphone et BlackBerry.
SSH sous Linux
● $sudo apt-get update ; sudo apt-get install
openssh-server openssh-client
● L'installation du serveur OpenSSH crée un
dossier /etc/ssh et génère un couple de clés
RSA :ssh_host_rsa_key &&
ssh_host_rsa_key.pub (clés privée et publique
du serveur).
● Sudo service ssh start.
● Ssh localhost pour test.
SSH Sous Windows
Astuces SSH
● Se connecter à un serveur :
ssh user@myserver
● ssh -P <port> user@myserver
● Copier les clés ssh :
ssh-copy-id user@host
● ssh-keygen pour générer les clés ssh
● Comparer un fichier distant avec un autre local :
ssh user@host cat /path/to/remotefile | diff /path/to/localfile -
● Copier d'une hote à une hote a travers la votre :
ssh root@host1 “cd /somedir/tocopy/ && tar -cf – .” | ssh
root@host2 “cd /samedir/tocopyto/ && tar -xf -”
Astuces SSH
● Copier la clé publique dans un serveur depuis
une machine qui ne prend pas en charge ssh-
copy-id :
cat ~/.ssh/id_rsa.pub | ssh user@machine
“mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys”
● Lancer un programme GUI a distance :
ssh -fX user@myserver <programme gui>
Astuces SSH
● Créer un tunnel ssh :
ssh -D <port> user@server
configurer votre navigateur firefox ; votre
messagerie pidgin ou votre µtorrent pour utiliser
le proxy socks:127.0.0.1:<port>
Ou est ce que je peux utiliser ssh
● Git/ Github .
● Certains hebergeurs web offrent une console
ssh :
www.alwaysdata.com
www.sdf.org
● Certaines applications l'utilisent : TOR vidalia &
ultrasurf.
● Votre propre serveur ;)
Pourquoi je l'utilise
● Sa clé RSA est difficile à décrypter.
● Eviter les attaques « Man In The Middle »
(MITM).
● Eviter le sniffing.
A retenir
● Where there is SSH ; there is a
Secure Shell over Hell 3 :)
Merci pour votre
attention !!!

workshop initiation ssh

  • 1.
    ShellMates SSH Secure SHell Initiation auSSH SMAHI Zakaria <z_smahi@esi.dz> Novembre 2013
  • 2.
    C'est quoi SSH? ● SSH = Secure SHell. ● SSH est à la fois un programme informatique et un protocole réseau sécurisé. ● Port utilisé 22. ● Echange de clé de chifrement ; au début de la connexion. ● Conçu pour remplacer rlogin ; telnet et rsh. ● Défini par plusieurs recommendations:RFC 4251..4254.
  • 3.
    Historique ● 1ére version: Tatu Ylonen; en Finlande 1995;a conçu le 1er programme utilisant ce protocole. ● Tatu a créé l'entreprise SSH Communications Security a fin d'exploiter cette innovation. ● 2éme version : 2006 par le groupe de recherche « secsh ». ● La version 2 est la plus utilisée à travers le monde, plus sécurisée , intégre le SFTP.
  • 4.
    SSH et authentificationpar clés ● Cryptage Symétrique / Assymétrique. ● Client demande une connexion , serveur lui envoie sa clé publique. ● Clé reçue est utilisée pour envoyer une clé secrete au serveur. ● Le serveur reçoit la clé publique et la décrypte avec sa clé privée prouvant qu'il est bien le serveur . ● Pour le prouver au client, le serveur crypte un message type avec la clé publique du client et lui envoie. Si le client arrive à lire le message en le décryptant avec sa clé privé il a l'assure de communiquer avec le véritable serveur. ● Le canal de commmunication sécurisée est alors créé.
  • 5.
    Implémentation de SSH ●Open SSH ( l'implémentation la plus utilisée); Open ssh portable multiplateforme. ● Putty. ● Lsh ( Gnu-GPL). ● MacSSH ( Lsh pour MacOs). ● SSH pour Iphone et BlackBerry.
  • 6.
    SSH sous Linux ●$sudo apt-get update ; sudo apt-get install openssh-server openssh-client ● L'installation du serveur OpenSSH crée un dossier /etc/ssh et génère un couple de clés RSA :ssh_host_rsa_key && ssh_host_rsa_key.pub (clés privée et publique du serveur). ● Sudo service ssh start. ● Ssh localhost pour test.
  • 7.
  • 8.
    Astuces SSH ● Seconnecter à un serveur : ssh user@myserver ● ssh -P <port> user@myserver ● Copier les clés ssh : ssh-copy-id user@host ● ssh-keygen pour générer les clés ssh ● Comparer un fichier distant avec un autre local : ssh user@host cat /path/to/remotefile | diff /path/to/localfile - ● Copier d'une hote à une hote a travers la votre : ssh root@host1 “cd /somedir/tocopy/ && tar -cf – .” | ssh root@host2 “cd /samedir/tocopyto/ && tar -xf -”
  • 9.
    Astuces SSH ● Copierla clé publique dans un serveur depuis une machine qui ne prend pas en charge ssh- copy-id : cat ~/.ssh/id_rsa.pub | ssh user@machine “mkdir ~/.ssh; cat >> ~/.ssh/authorized_keys” ● Lancer un programme GUI a distance : ssh -fX user@myserver <programme gui>
  • 10.
    Astuces SSH ● Créerun tunnel ssh : ssh -D <port> user@server configurer votre navigateur firefox ; votre messagerie pidgin ou votre µtorrent pour utiliser le proxy socks:127.0.0.1:<port>
  • 11.
    Ou est ceque je peux utiliser ssh ● Git/ Github . ● Certains hebergeurs web offrent une console ssh : www.alwaysdata.com www.sdf.org ● Certaines applications l'utilisent : TOR vidalia & ultrasurf. ● Votre propre serveur ;)
  • 12.
    Pourquoi je l'utilise ●Sa clé RSA est difficile à décrypter. ● Eviter les attaques « Man In The Middle » (MITM). ● Eviter le sniffing.
  • 13.
    A retenir ● Wherethere is SSH ; there is a Secure Shell over Hell 3 :)
  • 14.