Flux rss
Collection CommentCaMarche.net

[Réseaux] Installation d'un serveur ssh sous Windows

Publié par sebsauvage, dernière mise à jour le mercredi 4 juin 2008 à 16:27:29 par .:Goox:.
Cet article va vous expliquer comment installer et configurer un serveur ssh sous Windows.


Sommaire


Introduction


Choix du logiciel


J'ai choisi le serveur Openssh de Cygwin, car celui de http://sshwindows.sourceforge.net
ne semble pas mis à jour assez souvent.
Cygwin veille à maintenir ses packages à jour, ce qui est important du point de vue sécurité.
De plus l'installeur Cygwin permet de mettre à jour OpenSSH, openssl et toutes les librairies
sans avoir à tout réinstaller.

OS nécessaire


Windows 2000, XP ou 2003.
(Cette installation n'est pas faisable sous Windows 95/98/ME.)
Ceci fonctionne même sous XP Home (édition Familiale).

Outils utilisés


OpenSSH (par le shell et l'installeur Cygwin)

Avant de commencer


Si vous ne vous sentez pas d'effectuer les manipulations suivantes, vous pouvez prendre le serveur ssh Cygwin pré-packagé CopSSH: http://www.itefix.no/...
Toutefois, vous devez savoir que ce package risque d'interférer avec Cygwin s'il est déjà présent, et qu'il ne gère que les utilisateurs locaux.

Note importante


L'installation d'un serveur ssh sous Windows reste du bricolage. Ce n'est ni fiable, ni sûr.
Il est fortement déconseillé d'installer un tel serveur ssh sous Windows sur une machine de production.
Si vous avez besoin d'un serveur ssh solide, prenez Unix, Linux ou BSD. C'est nettement plus fiable, sans aucune comparaison (pas de DLL d'émulation d'une partie d'un système d'exploitation (cygwin.dll), pas de mappage foireux entre les droits Windows et les droits Unix, pas de service lancé avec un user dont les droits sont mal fagotés, pas de pseudo-shell Unix...)
Vous êtes prévenu.

Note de l'auteur (sebsauvage)


Inutile de m'écrire par mail pour me demander de l'aide concernant cette installation. Je n'y répondrai pas. Cette documentation est suffisamment détaillée.
Si ça ne marche pas, c'est très probablement que vous avez fait une erreur. 99% des problèmes qu'on m'a soumis étaient dûs à une lecture trop rapide de cette documentation.
Lisez bien les messages affichés à l'écran.
Ne continuez pas l'installation bêtement si un message d'erreur s'affiche: Il faut d'abord résoudre le problème avant de continuer.

I - Installation de Cygwin


Téléchargez l'installeur Cygwin (setup.exe) de http://www.cygwin.com/ et lancez-le.
  • Fenêtre "Choose installation type": Choisissez "Install from internet"
  • Fenêtre "Choose Installation Directory": Laissez toutes les valeurs par défaut.
  • Fenêtre "Select Local Package directory": Laissez les valeurs par défaut. (Les fichiers d'install cygwin seront placés dans un sous-répertoire de setup.exe)
  • Fenêtre "Selection connection type": Entrez d'éventuels paramètres de proxy si vous en utilisez un.
  • Fenêtre "Choose Download Site(s)": Choisissez un site de téléchargement proche de chez vous. Par exemple, en Belgique, choisissez les serveurs en .be. En France, choisissez les serveurs en .fr. Au pire, choisissez des serveurs dans des pays voisins (exemple: .de (Allemagne) pour la France).
  • Fenêtre "Select packages", cliquez sur le bouton "View" pour voir la liste des paquets.
  • Descendez dans la liste pour trouver "openssh: The OpenSSH server and client programs" et cliquez sur le mot "Skip" pour sélectionner ce package. Le mot "Skip" doit alors être remplacé par la version d'openssh (pa exemple "4.2p1-1"). D'autres packages vont automatiquement être sélectionnés. Cliquez sur "Next": Le téléchargement commence. (Environ 17 Mo vont être téléchargés.)
  • Fenêtre "Create icons": cliquez sur "Finish".


L'installation de Cygwin est terminée.

II - Configuration du serveur ssh


Modification de l'environnement

  • Cliquez-droit sur le poste de travail > "Propriétés" > "Avancé" > "Variables d'environnement" > "Variables système".
  • Cliquer sur "Nouveau", et entrer la variable: CYGWIN ; valeur: ntsec tty
  • Sélectionnez PATH dans la liste, cliquez "Éditer" et ajoutez: ;C:\Cygwin\bin à la fin du chemin.

II.1 Création des groupes et utilisateurs

  • Ouvrez la fenêtre Cygwin.
  • Créez les users et les groupes:
    • Users : mkpasswd -l > /etc/passwd
    • Groupes: mkgroup -l > /etc/group
    • Cela va prendre les users et groupes de Windows et les créer dans les fichiers correspondants Cygwin.
    • -l est bien un L MINUSCULE, et PAS le chiffre 1.
    • Pour utiliser les groupes/users du domaine (au lieu de local), remplacez -l par -d
    • Pour ajouter un user précis, utilisez -u. Exemple: mkpasswd -u johnny -l > /etc/passwd
    • Contrôlez bien le contenu des fichiers passwd et group. Si ces fichiers sont vides, le serveur ssh ne fonctionnera pas.
    • Si un utilisateur ET SON GROUPE ne sont pas déclarés dans ces 2 fichiers, il ne pourra pas se connecter.
    • Si vous avez un message d'erreur sur mkpasswd ou mkgroup, inutile de poursuivre l'installation : vous devez d'abord résoudre ce problème avant de continuer.
  • Lancez: ssh-host-config -y. Il est possible qu'il demande un mot de passe pour la création d'un user "sshd_server" (par exemple sous Windows 2003). C'est le user qui sera utilisé pour faire tourner le service sshd.
  • Quand il vous est demandé "CYGWIN=", entrez: ntsec tty. Cela va créer le service sshd dans Windows. Il apparaîtra sous le nom "CYGWIN sshd" dans la liste des services. Il est en principe configuré pour démarrer automatiquement, mais il n'est pas encore démarré.



III - Lancement du service sshd et test


Démarrer le service


Utilisez la commande net start sshd cygrunsrv -S sshd.
Notez que le service démarrera automatiquement au prochain redémarrage de Windows,Vous n'aurez donc plus à taper cette commande.
Si le service ne démarre pas, regardez le contenu du fichier C:\cygwin\var\log\sshd.log
Selon les installation, il est possible que vous ayez à faire chown system /etc/ssh* et chown system /var/empty pour que le service démarre correctement.

Tester le service


Utilisez le client ssh fourni avec cygwin: ssh monlogin@localhost.
Ou bien Putty (client ssh gratuit): http://www.chiark.greenend.org.uk/~sgtatham/putty/.
A la première connexion, le client ssh va probablement vous demander de confirmer la clé.
Ensuite, après l'entrée du mot de passe, vous devez obtenir un shell.
Vous pouvez voir la connexion en tapant: echo $SSH_CONNECTION
(Port 22 = votre serveur ssh)

Remarques


Gestion des utilisateurs


Tout utilisateur déclaré dans /etc/passwd pourra se loguer sur le serveur ssh. Vous pouvez donc limiter la liste des utilisateurs pouvant se connecter sur le serveur ssh en modifiant le fichier C:\cygwin\etc\passwd

Note: vous devez laisser les users sshd et sshd_server. Le serveur ssh en a besoin.

Accès aux disques Windows


N'oubliez pas que sous le shell Cygwin, vous pouvez accéder à vos disques Windows, par exemple : /cygdrive/c pour accéder à C: (et ainsi de suite pour les autres lecteurs.)

Utilisations


En plus du shell, vous avez bien entendu la possibilité d'utiliser votre serveur ssh pour le transfer sécurisé de fichiers (scp/sftp).
Sous Windows, on trouve des clients scp/sftp gratuits:

Le serveur SSH peut également tunneller pour vous tout protocole basé sur TCP. (Pour être précis, c'est équivalent à un port-forwarding distant). Exemple, pour établir un tunnel :

Votre machine -----> client ssh local (port 777) -----> serveur ssh (port 22) ----> pop.free.fr (port 110).

On entrerait la commande suivante :
ssh -L 777:pop.free.fr:110 monLogin@monServeurSsh

Puis il suffit de connecter votre logiciel de mail sur localhost:777 au lieu de pop.free.fr:110 : ssh tunnellera tout cela vers pop.free.fr, port 110.
Vous pourrez donc lire votre courrier sur localhost:777.
Cela peut être utile pour traverser des réseaux non sûrs (par exemple tout ce qu'il y a entre votre machine et le serveur ssh).

Sécurité


Pour compléter cette installation, il faudrait ajuster les droits d'accès aux fichiers du user utilisé pour lancer le service sshd afin d'améliorer la sécurité.

Pensez à lancer de temps en temps l'installeur Cygwin pour mettre à jour openssh et openssl (Arrêtez le service avant de faire cette mise à jour.). Cela vous permettra de bénéficier des mises à jour de sécurité d'openssh et openssl.

Liens


La rédaction de ce document a été aidée par http://www.cs.princeton.edu/~sudhakar/linux/cache/cygwin-sshd.html (en anglais).
Installer un serveur ssh sous Ubuntu Un serveur ssh vous permet d'accéder à distance à votre machine. Vous aurez ainsi accès à la console distante (équivalente à telnet, mais sécurisée) et au transfer de fichiers (équivalent à FTP, mais sécurité également). Installation On ne peut... www.commentcamarche.net/faq/sujet-6658-installer-un-serveur-ssh-sous-ubuntu
Chroot sous Cygwin, serveur SSH (Résolu) Bonjour à vous, En espérant que je me suis pas trompé de section ^^ Voilà, sous Windows, j'ai installé le Shell Unix Cygwin + le package OpenSSH afin d'avoir un serveur FTP sécurisé (SFTP) via à un serveur SSH. Tout fonctionne, le seul... www.commentcamarche.net/forum/affich-4719354-chroot-sous-cygwin-serveur-ssh
Monter un serveur ssh (Résolu) Bonjour, Je voudrais savoir comment faire pour monter un serveur ssh sous windows. J'ai trouvé plusieurs logiciels clients ssh, mais pas de serveur. Mon but est de pouvoir recevoir des fichiers de manière sécurisée, l'expéditeur utilisant un... www.commentcamarche.net/forum/affich-459625-monter-un-serveur-ssh
Accéder à un serveur ssh comme si c'était un répertoire local1. Installez sshfs: sudo aptitude install sshfs 2. Créez le répertoire où apparaîtra le serveur ssh: mkdir pointdemontage 3. Ajoutez les utilisateurs autorisés à utiliser le logiciel au groupe fuse : sudo adduser username fuse 4. Montez le... www.commentcamarche.net/faq/sujet-6667-acceder-a-un-serveur-ssh-comme-si-c-etait-un-repertoire-local
Se logguer à distance avec ssh (Linux)(Pour ceux qui voudraient avoir un rappel sur SSH : http://www.commentcamarche.net/crypto/ssh.php3) Les commandes suivantes nécessitent d'avoir un compte sur la machine sur laquelle on veut se connecter et qu'un serveur SSH y soit installé. ... www.commentcamarche.net/faq/sujet-74-se-logguer-a-distance-avec-ssh-linux
[Windows 98] InstallationObjectif Installation complète de Windows 98 afin d'avoir un ordinateur : *** Il n'y a que Windows 98 *** Aucun programme installé *** Les pilotes de périphériques Dans cette installation, on suppose que Windows 98 sera installé avec les options par... www.commentcamarche.net/faq/sujet-1617-windows-98-installation
Installer 2 fois windows xp sur le meme disqu (Résolu)bonjours a tous... j'ai Installer 2 fois windows xp sur le meme disque . sur 2 partitions, Tout ca par ce que j'ai voulu installer un 2eme disque en le partitionant. a chaque demarrage ca me demander lequel xp choisir. Dans le poste de... www.commentcamarche.net/forum/affich-3573587-installer-2-fois-windows-xp-sur-le-meme-disqu
Installation du lecteur windows media player (Résolu)Bonjour, Je n'arrive pas à installer le lecteur windows media player 11,quand j'ai essayé de l'installer il y a avait écrit erreur interne avec un code d'erreur,j'ai redemarré mon ordinateur et quand j'ai réessayé... www.commentcamarche.net/forum/affich-2500992-installation-du-lecteur-windows-media-player
2 serveur ssh, et 1 livebox (Résolu)Bonjour, j'ai deux ordinateur, un sous windows, l'autre sous linux. J'ai paramétrer un serveur ssh sous linux sans problème. La livebox redirige le port 22 sur l'ordinateur sous linux et j'ai installer cygwin sous windows pour... www.commentcamarche.net/forum/affich-5795896-2-serveur-ssh-et-1-livebox
Télécharger WinSCPWinSCP est un client SFTP/SCP, c'est à dire qu'il permet de se connecter aux serveurs SSH pour transférer des fichiers. Il possède une interface graphique (à la Norton Commander) pratique à utiliser, et possède un outils de synchronisation de... www.commentcamarche.net/telecharger/telecharger-251-winscp
[Brève] Windows Live sur les mobiles Nokia(Paris - Relaxnews) - Nokia et Microsoft ont conclu un partenariat afin d'installer les services Windows Live sur les mobiles multimédias du fabricant finlandais, comme la messagerie instantanée et le courrier électronique. Les propriétaires des... www.commentcamarche.net/actualites/breve-windows-live-sur-les-mobiles-nokia-3467098-actualite.php3