2016-08-09 14:52:46 +0000 2016-08-09 14:52:46 +0000
106
106

Comment puis-je faire du SSH dans "Bash on Ubuntu on Windows 10" ?

J'ai Windows 10 Anniversaire Edition avec “Bash on Ubuntu on Windows” installé et fonctionnel. J'aimerais pouvoir utiliser le SSH dans cette instance d'Ubuntu, mais bien que j'aie installé et configuré openssh-server (et que j'écoute sur le port 2200), lorsque j'essaie de faire un ssh vers “localhost:2200”, il me dit “Server unexpectedly closed network connection”.

Est-ce que quelqu'un a réussi à faire cela ?

Réponses (5)

125
125
125
2016-08-16 14:02:58 +0000

Je l'ai fait fonctionner ; voici comment.

Désinstallez le serveur ssh, réinstallez-le et assurez-vous qu'il est démarré avec

sudo service ssh --full-restart

Assurez-vous que vous avez désactivé l'accès root et ajouté un autre utilisateur dans le fichier de configuration.

J'ai pu me connecter au sous-système sur 127.0.0.1:22 comme prévu.&nbsp ; j'espère que cela vous aidera.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config et interdisez la connexion à la racine en définissant PermitRootLogin no
  4. Ensuite, ajoutez une ligne en dessous qui dit :

  5. Désactivez la séparation des privilèges en ajoutant/modifiant : UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Connectez-vous à votre sous-système Linux à partir de Windows en utilisant un client ssh comme PuTTY.

28
28
28
2017-05-16 02:58:48 +0000

Les réponses ci-dessus se rapprochaient, mais j'avais toujours un numéro Connection closed by 127.0.0.1.

Recommencer à zéro et supprimer le paquet sshd avec l'option --purge (comme indiqué ci-dessous), a résolu ma variante de ce problème :

user$ sudo apt-get remove --purge openssh-server # First remove sshd with --purge option.
user$ sudo apt-get install openssh-server
user$ sudo vi /etc/ssh/sshd_config # **See note below.
user$ sudo service ssh --full-restart

# ** Change Port from 22 to 2222. (Just in case MS-Windows is using port 22).
# Alternatively, you can disable MS-Windows' native SSH service if you 
# wish to use port 22.

J'espère que cela vous aidera. = :)

27
27
27
2016-08-09 20:45:01 +0000

Comme l'implémentation de Windows ne fournit pas de chroot, vous devez modifier le /etc/ssh/sshd_config

UsePrivilegeSeparation no

Vous devrez également créer un utilisateur en utilisant la commande useradd ou autre.

5
5
5
2016-11-17 09:57:41 +0000

J'ai fait tout ce que Maître Azazel m'a suggéré et j'ai eu le problème. Lorsque je me suis connecté au port 22 on m'a demandé un mot de passe, mais le mot de passe que j'ai défini dans le sous-système Linux n'a pas fonctionné.

Solution #1: changer le port SSH en /etc/ssh/sshd_config et redémarrer le serveur SSH dans le sous-système

Solution #2: désactiver/arrêter les “Services SSH Server Broker” dans le panneau de configuration des services de Windows et redémarrer le serveur SSH dans le sous-système.

2
2
2
2016-08-09 16:46:49 +0000

La raison pour laquelle vous ne pouvez pas y accéder par ssh est indiquée dans le logging du serveur :

chroot(“/var/run/sshd”) : Fonction non implémentée [preauth]

Le sous-système Linux ne semble pas avoir implémenté chroot et le serveur ssh en a besoin donc la connexion n'est pas autorisée.