Comment se connecte à un serveur distant de manière sécuritaire sous Windows (toutes versions)
Introduction
Les communications entre clients et serveurs ne se font plus de manière ouvertes comme à une certaine époque (voir Telnet): un serveur bien configuré ne serait pas accepté de connections non-sécurisées. Par conséquent, la plupart du temps, il faudra utiliser SSH, une méthode par défaut encroûtée et sécurisée.
Aucune version de Windows n'est équipée par défaut des outils SSH; il vous faudra donc trouver un logiciel client… Le client le plus fréquemment utilisé dans Windows est PuTTY. Il vous faudra le télécharger et l'installer avant de commencer
Protocole avec mot de passe
- Plus à venir
Protocole sans mot de passe
- Il faut commencer par créer une paire de clés d'authentification en utilisant
PuTTYgen
, une des applications qui vient avec PuTTY. Donc, démarrezPuTTYgen
en le sélectionnant via Start > Tous les programmes > PuTTY > PuTTYgen. Une fenêtre tel que montrée ci-dessous vous apparaitrera:
- Avant de cliquer sur “Generate”, assurez-vous d'avoir sélectionner
RSA
comme type de clé et 4096 comme grandeur de clé. Donc cliquer “Generate” et tel que demandé par l'application, amusez-vous à bouger votre souris dans le carré gris sous le thermomètre. Ces mouvements de souris sont utilisé pour créer une suite d'évènements aléatoires dans vos clés.
- Après cette étape, il faut sauvegarder vos nouvelles clés publiques et privées dans un répertoire qui ne doit être visible que de vous, donc le répertoire
Documents
dans votre compte d'usager devrait faire l'affaireUtilisez un nom presque pareil pour distinguer clé privées et publique, du genre blablaPrivate et blablaPublic.
- Il faut maintenant transférer votre clé publique du côté du serveur Linux qui devra être accessible sans moi de passe. Ça se fait super bien via Filezilla ou WinSCP.
- Maintenant, on s'en va sur le serveur Linux via PuTTY en utilisant votre mot de passe; une fois dans votre espace usager, il faut faire les commandes suivantes:
# Vérifier que vous avez un répertoire qui s'appelle # .ssh via la commande ls; si non, créez le % mkdir .ssh # Ajoutez votre clé publique a la liste des serveurs connus % ssh-keygen -i -f blablaPublic >> .ssh/authorized_keys # Assurez-vous que le fichier authorized_keys ne peut # être lu et modifié que par vous % chmod go-rwx ~/.ssh ~/.ssh/authorized_keys # Effacer la clé publique que vous avez transférer % rm -rf blablaPublic # Fermer votre connexion au serveur Linux % exit
- On repart PuTTY mais maintenant on va lui dire d'utiliser notre ensemble de clés. Donc, après avoir ouvert PuTTY, on obtient cette fenêtre:
- Étape 1 dans PuTTY: on va dans le menu
Connection
>Data
, et dans Auto-login username, écrivez votre nom d'usager dans le système distant.
- Étape 2 dans PuTTY: on va dans le menu
Connection
>SSH
>Auth
pour sélectionner notre clé privée sauvée précédemment, en cliquant le bouton Browse près du champs Private key file for authentification et en pointant le fichier correspondant à la clé privée:
- Étape 3 dans PuTTY: on va dans le menu
Session
et on entre le nom du serveur comme d'ordinaire dans le champs Host name (or IP address); avant de pressez Open, donner un nom à vos nouveaux paramètres dans le champs Saved Sessions et pressez le bouton Save. À partir de maintenant, connectez vous toujours en utilisant ces nouveaux paramètres en double-cliquant le nom de votre session sauvegardée.