SSH
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é.
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.
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émarré, il faut configurer Putty pour rediriger l'affichage de la session distante sur le serveur Xming fraichement installé. Cela se fait dans le menu SSH → X11
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 !
Redirection de ports
La redirection de port peut servir pour accéder à des machines qui se trouve "derrière" l'extrémité du tunnel.
Nous allons prendre comme exemple un serveur Proxmox qui se situe derrière notre extrémité de tunnel à l'adresse sur le réseau local à l'adresse 192.168.60.228.
Une fois votre session configurée, dirigez-vous dans le section SSH → Tunnels
Le tunnel "map" / "bind" un port local sur @IP_DISTANTE:PORT_DISTANT
Dans notre exemple nous avons binder le port 8006 de localhost vers le port 8006 de 192.168.60.228. Idem pour le port 5900 !
Maintenant, lorsque l'on lance notre navigateur à l'adresse https://127.0.0.1:8006, c'est le Proxmox distant qui répond !
Utilisation du pavé numérique avec Vim
Quand on utilise Putty et que l'on édite un fichier avec Vim il ne faut pas oublier de ne pas utiliser le pavé numérique...
Pour retrouver le plaisir de taper des chiffres sans appuyer sur la touche Maj, voici la case à cocher:
Pour que cela devienne un paramètre par défaut, n'oubliez pas de la sauvegarder dans la session Default