SSH

De The Linux Craftsman
Aller à la navigation Aller à la recherche

Sous Linux

Création des clés

Pour créer les clés sous CentOS, il suffit d'utiliser la commande ssh-keygen

]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ed:94:0e:24:b4:ff:9a:09:7a:56:d7:a0:45:e9:0b:68 root@fw.tala-informatique.fr
The key's randomart image is:
+--[ RSA 2048]----+
|      .    .     |
|     . .  o      |
|      o..o       |
|      E+..+.     |
|     .  S+++     |
|        o*o .    |
|      .. .+      |
|     .o. +       |
|    .o  +        |
+-----------------+

Vous pouvez entrer un mot de passe pour crypter la clé privée, cependant, si votre objectif est de pouvoir vous connecter sans mot de passe sur d'autres machines, n'en mettez pas. Je pense que c'est un compromis entre praticité et sécurité...

Copie de la clé publique

Cette étape est réalisée par la commande ssh-copy-id qui va simplement copier la clé publique de la machine sur laquelle elle est exécutée vers le fichier ${USER}/.ssh/authorized_keys de la machine distante.

# ssh-copy-id -i .ssh/id_rsa.pub root@samba
The authenticity of host 'samba (192.168.200.252)' can't be established.
RSA key fingerprint is 4c:87:08:f7:34:31:b6:2d:66:4d:19:bd:06:b7:6d:77.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'samba,192.168.200.252' (RSA) to the list of known hosts.
root@samba's password:
Now try logging into the machine, with "ssh 'root@samba'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[root@fw ~]#

On rentre une dernière fois le mot de passe de la machine distante et la commande nous demande de vérifier le contenu du fichier .ssh/authorized_keys. C'est ce que nous allons faire !

[root@fw ~]# ssh root@samba
Last login: Mon Dec 23 01:42:26 2013
[root@samba ~]# cat .ssh/authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEA57Ak4JWW7zKbip1WPWxr4eQnaWWR0I/ ... /p9zIOqhUtjsvQXA9/bsFGhf6UqSscbQ== root@fw.tala-informatique.fr

Plus besoin de mot de passe ! Comme c'est agréable...

Limitation

Les droits du dossier utilisateur sont importants pour le fonctionnement de cette authentification.

Il doivent être dispensés comme ceci:

  • '700' pour le ~ (répertoire $HOME)
  • '600' pour le répertoire '~/.ssh'
  • '600' pour le fichier '~/.ssh/authorized_keys'

Sous Windows

Création des clés

Sous Windows, il faut le programme PuttyGen pour créer notre paire de clé.

Démarrage Génération des clés Sauvegarde
Start puttygen.png Generate puttygen.png Save puttygen.png
Pour commencer, cliquez sur le bouton Generate Ensuite il faut bouger la souris dans la zone grisée pour introduire une composante aléatoire Enfin, je vous conseille de sauvegarder les clés dans un lieu sûr de la manière suivante:
  • clé privée: id_rsa.ppk
  • clé publique: id_rsa.pub

Copie de la clé publique

Il n'y a malheureusement aucun moyen simple d'effectuer cette copie, il faut:

  • se connecter à la machine
  • éditer ou créer le cas échéant le fichier .ssh/authorized_keys
  • coller la clé publique id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAIEAg46nmD/.../B11oLAcy+63t88Gr3VD5xGkk9FSrvbScWvcUak419K8cgfM1xkLY2GkP05JFyxec=

Copiez uniquement la clé et précisez au début le type de chiffrement (si vous n'avez rien modifié c'est ssh-rsa)

Configuration du client SSH

J'utilise Putty mais cela fonctionne avec d'autres clients également.

Démarrage Utilisation de la clé privé Création de la session et sauvegarde
Start putty.png Private key putty.png Save putty.png
Pour commencer, ouvrez Putty et descendez jusqu'au menu SSHAuth Sélectionnez la clé privée Enfin:
  • entrez le login@adresse
  • spécifiez un nom
  • cliquez sur Save
  • cliquez sur Open pour démarrer la connexion !

Plus besoin de mot de passe !

Using username "root".
Authenticating with public key "rsa-key-20131209"
Last login: Mon Dec 23 02:26:49 2013 from 192.168.100.1
[root@fw ~]#

Déport d'affichage

Installation du serveur X11

Avant d'aller plus loin assurez-vous d'avoir toutes les librairies nécessaires sur la machine Linux.

# yum -y groupinstall 'X Window System'

Installation de Xming

Le déport d'affichage ou déport X (du nom du serveur graphique Linux X11) permet de lancer une application depuis un système sur un autre.

Le seul problème est que Windows ne possède pas de serveur X... nous allons utiliser Xming

Configuration de Putty

Une fois votre serveur Xming installé et démarrer il faut configurer Putty pour rediriger l'affichage de la session distante sur le serveur Xming fraichement installé. Cela se fait dans le menu SSHX11

Ssh x11.png

Démarrage de Putty

Lors du premier démarrage de Putty (avec le forward X11) un fichier .Xauthority est créé

Using username "root".
root@192.168.50.111's password:
Last login: Tue Jan 21 18:57:49 2014 from 192.168.50.101
/usr/bin/xauth:  creating new authority file /root/.Xauthority

Vous pouvez maintenant démarrer une application graphique, elle s'ouvrira sur votre bureau !