Présentation  | OpenSSH | PuTTY ( Présentation , installation , utilisation ) | Vandyke | Le client windows SSHWin2.4  ( Présentation , installation, utilisation )]

Dernière modification 14.1.01

Les clients windows SSH

Sécurité

Avant d'aller plus loin, je vous invite à consulter ma page sur la cryptographie en guise d'introduction


Présentation

SSH est une alternative sécurisée à des outils de connexion comme telnet  (pour lequel le mot de passe circule en clair sur le réseau), mais c'est bien plus que cela puisqu'il permet aussi de lancer des commandes à distance (comme rsh, ou remsh), mais aussi de transférer des fichiers ou des répertoires entiers (comme rcp). Il permet aussi de sécuriser des communications qui à la base ne le sont pas comme POP ou telnet grâce à des "tunnels" sécurisés.
SSH se présente sous la forme d'un daemon et d'un client, le daemon tourne sur un serveur et attend les requêtes des clients SSH pour que les utilisateurs distants puissent se connecter sur le serveur.

Pour plus de détail sur le fonctionnement de SSH, reportez vous au chapitre correspondant dans la page OpenSSH.

Pour la configuration d'un serveur sous linux, voir la page SSH et/ou OpenSSH.

Ne sont présentés dans cette page que des clients compatibles SSH2.

[Retour haut de la page]

OpenSSH

Cygwin par défaut dispose d'un client SSH2, les commandes, à taper dans un shell cygwin, sont strictement identiques à celles d'OpenSSH, et c'est tout à fait normal puisque le client SSH de cygwin est la version d'OpenSSH compilée sous windows avec cygwin.
La syntaxe des commandes est strictement identique à celle d'OpenSSH sous linux, je vous invite donc à consulter la page qui lui est consacrée dans la section linux.
[Retour haut de la page]

PuTTY

Présentation

PuTTY est un client SSH placé sous license MIT, proche de la license BSD, si ça ne vous dit pas plus, sachez que le logiciel est certifié "Open source" et qu'il répond aux exigences des logiciels libres de la Debian. Vous pouvez le récupérer à www.chiark.greenend.org.uk/~sgtatham/putty. C'est à mon avis la meilleure alternative pour un client SSH pour windows.
[Retour haut de la page]

Installation

L'installation est on ne peut plus basique il suffit de récupérer les exécutables suivants sur le site de PuTTY :

pageant.exe  plink.exe  pscp.exe  putty.exe  puttygen.exe  puttytel.exe

[Retour haut de la page]

Utilisation

puttytel.exe

puttytel.exe se limite à la fonction telnet, voilà ce que ça donne en l'exécutant :

Vous pouvez sauvegarder les sessions (connexions réussies) et de nombreux paramètres de configuration sont disponibles.

[Retour haut de la page]
Une fois les paramètres de connexion saisies, on clique sur Open :

A noter que la complétion marche (TAB pour compléter le nom des commandes), pour quitter il suffit de taper logout.

[Retour haut de la page]
puttygen.exe

puttygen.exe permet de générer un couple de clés (privée et publique).

On fixe le nombre d'octets puis on clique sur Generate :

Pendant la génération il est nécessaire de bouger un peu partout avec la souris, les mouvements de la souris rentrent en compte pour générer la clé.

[Retour haut de la page]

Une fois les clés générés, il faut saisir un mot de passe sous forme de phrase mot de passe "passphrase", dans le champ Key comment, vous pouvez très bien mettre de que vous voulez. Cliquez sur Save pour sauvegarder la clé privée à un endroit spécifique.
Je vous conseille bien évidemment de ne pas mettre la clé privée à un endroit visible par tout le monde, l'idéal est de le mettre dans un répertoire UNIX monté avec les droits qui vont bien, ou dans un répertoire windows crypté par e4m par exemple.

Maintenant il faut sauvegarder la clé publique, sélectionner la clé publique se trouvant dans le champ Public key for pasting into authorized_keys file, puis cliquez sur le bouton droit de la souris, Copier, coller dans le bloc note, sauvegarder le fichier, c'est la clé publique.
Ce fichier sera à rajouter dans le fichier authorized_keys2 se trouvant sous ~/.ssh si vous utilisez OpenSSH,  ou alors dans un fichier à mettre dans le répertoire ~/.ssh2 dont le nom sera marqué dans le fichier authorization si vous utilisez SSH.

Fermer la fenêtre en cliquant sur la croix en haut à droite.

[Retour haut de la page]
putty.exe

putty.exe est le client telnet et SSH

On peut sauvegarder les sessions (connexions réussies), plusieurs paramètres de configuration sont disponibles, pour la configuration de la connexion SSH, il faut cliquer sur Connection>SSH

Vous pouvez choisir de préférer le protocole SSH2, d'envoyer des données sous forme compressée.

[Retour haut de la page]
Une fois tous ses paramètres saisies, on clique sur Open :



Comme c'est la première fois qu'on se connecte, il nous avertit que la machine sur laquelle on croit se connecter n'est peut être pas la bonne, la question est, est-on vraiment sûr de se connecter sur la bonne machine, une fois répondue, la fenêtre suivante apparaît, on doit y saisir le login et le mot de passe avant d'être connecté :
 


Pour info les informations sur les hôtes visités sont inscrites dans la base de registre de windows :

HKEY_CURRENT_USER/SOFTWARE/Simon Tatham\PuTTY\SshHostKeys

[Retour haut de la page]
pageant.exe

Voilà un utilitaire dont je n'ai pas bien compris l'intérêt.
Quand on lance pageant.exe on retrouve une petite icone représentant un ordinateur avec un chapeau par dessus   quand on clique dessus avec le bouton droit en sélectionnant View Keys la fenêtre suivante apparaît :

On clique sur Add Key, et on nous demande alors de sélectionner une clé privée Select Private Key File, comme on est sensé pouvoir sélectionner que sa propre clé, j'ai sélectionné ma clé, on nous demande alors de saisir le passphrase défini avec puttygen.exe.

La clé privée apparaît alors ou du moins sa longueur en octets, son empreinte et le Key Comment.

Les autres commandes disponibles de pagent.exe accessibles par le menu sont :
- View Keys
- Add Key
- About
- Exit

[Retour haut de la page]
pscp.exe

pscp.exe est un utilitaire de copie sécurisée équivalent à ftp (en sécurisé), il marche dans une fenêtre DOS, la syntaxe est la suivante :

pscp [options] source destination

avec source et destination = user@host:fichier

Les options disponibles sont :

-p préserver les attributs du fichier
-q pour ne pas montrer les stats (vitesse de transfert...)
-r pour copier des répertoires
-v mode bavard
-P pour spécifier un numéro de port particulier
-pw passwd mot de passe du l'utilisateur spécifié dans la source ou la destination
-gui hWnd mode graphique

Un petit exemple

pscp toto.txt olivier@obelix:/tmp
olivier@obelix's password :

Mais c'est marche pas chez moi, il y a un problème de compatibilité SSH1, il cherche un programme scp1 qui n'est pas dans le PATH et qui n'est pas sur mon disque non plus.

[Retour haut de la page]
plink.exe

plink.exe permet de se connecter ou de lancer des commandes d'une fenêtre DOS, la syntaxe est la suivante :

plink  [options] [user@]host [command]

Un petit exemple :

plink -v -ssh olivier@obelix

Server version: SSH-2.0-2.4.0 SSH Secure Shell (non-commercial)
We claim version: SSH-2.0-PuTTY
Using SSH protocol version 2
Host Key fingerprint is:
1024: 11:25:31:f0:26:1e:c5:59:b3:bb:f4:a1:58:9c:87:37
Using username "olivier".
olivier@obelix's password:
Opened channel for session
Allocated pty
Started a shell/command
Last Login: Thu Jan 11 2001 18:27:19 +0100
You have mail.
[olivier@obelix olivier]$

Pour lancer qu'une commande sur le serveur distant :

plink -v -ssh olivier@obelix df

[Retour haut de la page]

Vandyke

On  trouve un autre client SSH2 sous www.vandyke.com mais les conditions d'utilisation ont l'air particulièrement contraignantes et par ailleurs il faut s'enregistrer sur le site, non testé donc.
[Retour haut de la page]

Le client windows SSHWin-2_4_0

Présentation

Ce n'est pas un logiciel libre, mais une version d'évaluation limitée à 30 jours, au dela de cette période, elle est inactive on ne peut la réactiver qu'en obtenant un code qu'on obtient en achetant une licence. Ce qui est un peu curieux est que la version Linux est illimitée et qu'on dispose même des sources.
Sur www.ssh.com et plus précisément ftp.ssh.com/pub/ssh, vous pouvez récuperer un client marchant pour windows en l'occurence SSHWin-2_4_0.exe . A noter que vous trouverez sur le site de téléchargement une version d'évaluation d'un serveur SSH pour windows mais qui ne marche que sous Windows NT ou 2000.
[Retour haut de la page]

Installation

L'installation sous windows est très simple il suffit de lancer cet exécutable, laissez vous guider lors de l'installation, par défaut le répertoire d'install est c:\Program Files\SSH Communications Security\SSH Secure Shell, vous pouvez le changer. Vous pouvez aussi choisir d'installer les composants suivants :

- Desktop Icons (icônes du bureau),
- Documentation,
- Command Line Tools (pour installer des outils en ligne de commande)
- Add Command Line Tools to Path (pour que les commandes en ligne soient dans le PATH).

Rebooter la machine même si c'est pas indiqué.

[Retour haut de la page]

Utilisation

Pour lancer le client SSH, dans le menu Démarrer->SSH Secure Shell puis Secure Shell Client
 
 
Voilà ce que ça donne au lancement de SSHWin 2.4. La première chose à faire est de créer les clés publique et privée, pour cela, on va cliquer sur l'icône avec les engrenages (ou alors Edit->Settings)
Pour générer le couple de clé, il suffit de cliquer dans la fenêtre Settings sur User Keys, puis Generate New Keypair, à un moment il vous sera demandé de saisir:
- File Name : nom du fichier contenant la clé cle par exemple
- Comment : commentaire quelconque qui apparaîtra dans le fichier de clé publique que vous allez distribuer
- Passphrase : phrase mot de passe (à saisir deux fois)
Vous pouvez ensuite "uploader" votre clé publique, vous pouvez ignorer cette étape.
En considérant que vous avez installé Win SSH sous c:\program files\SSH Secure Shell vous trouverez la clé publique de l'utilisateur toto sous c:\program files\Users\login-de-connexion\UserKeys avec pour nom cle pour la clé privée et cle.pub pour la clé publique.

Pour reprendre notre exemple, à présent l'utilisateur windows doit donner sa clé publique à olivier sur asterix.

[Retour haut de la page]
Pour une utilisation avec SSH

Pour cela par un moyen ou un autre le cle.pub doit se retrouver dans le répertoire .ssh2 d'olivier. L'utilisateur olivier sous asterix doit maintenant éditer son ~/.ssh2/authorization et rajouter en fin de fichier:

Key cle.pub

Pour une utilisation avec OpenSSH

La clé publique généré par WinSSH  a cette tête là:

---- BEGIN SSH2 PUBLIC KEY ----
Comment: "clé sur shuttle [1024-bit dsa, olivier@idefix, Sun Apr 23 2\
000 10:30:02]"
AAAAB3NzaC1kc3MAAACBANBO8X/5WucQZ5BfMH7NDj5b7XNZdzFkABmgt80Kt9HYeDYdul
8oGjgezSrQWVyygSZCplW1W9VGm6ZJgV7G37zqBhz6X0rg4lxKb0WFEHXxHjBCvHwJ4k3Q
FAseKHoI+CWThGdzefCVFgkgLxJLwIuPqu2HXwVG2AbTuyylPIkfAAAAFQCLTFNmiH/TFf
s+6IlnAx78lYxu/QAAAIAlo8EkTvhuWOklDbGGwRv1GOL+wGjZg4NI+Qdm/SS8igovm0cm
3Y9q2oRd2ts2TrY9KX8bZsNgARHbH55cEj0iZ5dTlmHhaXdEgx5vlnQaNBeGLnqEwjGICF
E8BvYoGgD0VmnifSJt19IyshF35gIlOKtWhVNj+rzfPS+I4152mgAAAIBKR19XcEEtiBI2
wz5daanbfxvx2Ce15UBLqLcYQZ60rODJrofej6tzhIzwOiEP4sD+6YbOYPe7fMcx2bNQaz
1jNWBklckFTL5HTUvTiZztWe49zvYlVT4c6JXfcDXh6/s/Wrclb2gZOM/9tKkPBXLre0cz
uc9iDp0M++6DI9epcg==
---- END SSH2 PUBLIC KEY ----

Il faut transformer la clé pour qu'elle tienne sur une seule ligne pour pouvoir la mettre dans ~/.ssh/authorized_keys2 comme ça

ssh-dss AAAAB3NzaC (...)  uc9iDp0M++6DI9epcg== olivier@idefix.armoric.bz

[Retour haut de la page]
Pour se connecter, il suffit maintenant de cliquer sur l'icône représentant un ordinateur (ou alors File->Connect).
Saisissez le nom de l'ordinateur distant et  le nom de login.

Vous avez le choix entre une authentification par mot de passe ou par clé publique.

Si on se connecte pour la première fois, on a le message suivant, acquittez en cliquant sur Oui (C'est rigolo, le texte est en anglais, mais les boutons en français).
Maintenant rentrez le mot de passe (phrase password) que vous avez défini lors de la génération des clés (si authentification par clé publique).
Saisissez le mot de passe d'olivier sous asterix
 

En cas de succés on peut mettre en mémoire le compte sur lequel on se connecte, comme un bookmark qu'on retrouvera alors au niveau de la fenêtre principale au niveau de Profiles

Ca y est vous êtes connecté. A priori il semblerait qu'il soit possible de lancer des commandes X (Edit->Settings->Tunneling), mais je pense qu'il faut disposer d'un serveur X sous Windows pour que ça marche.
Pour ouvrir un nouveau shell, il suffit de cliquer dans Windows puis New Terminal.
Vous disposez d'une fonction de transfert de fichier sécurisé (équivalent sftp), pour cela il suffit de cliquer sur l'icône représentant un dossier (ou alors Windows->New File Transfer).
Je ne rentrerai pas dans le détail du fonctionnement de cette fenêtre.
SSH sauvegarde une partie de ses données dans la base de registre de windows.
 
[Retour page d'accueil FUNIX] [Retour haut de la page]