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

Как я могу использовать SSH в "Bash on Ubuntu on Windows 10"?

У меня установлена и работает юбилейная версия Windows 10 с “Bash on Ubuntu on Windows”. Я хотел бы иметь возможность SSH в этом экземпляре Ubuntu, но хотя у меня есть openssh-сервер установлен и настроен (и прослушивание на порту 2200), когда я пытаюсь ssh на “localhost:2200”, он говорит мне “Сервер неожиданно закрыл сетевое соединение”.

Кто-нибудь смог успешно это сделать?

Ответы (5)

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

Я заставил его работать, вот как.

Uninstalled ssh-server, переустановите его и убедитесь, что он запущен с

sudo service ssh --full-restart

Убедитесь, что выключили корневой доступ и добавили другого пользователя в конфигурационный файл.

Я смог подключиться к подсистеме на 127.0.0.1:22, как и ожидалось.  надеюсь, это вам поможет.

  1. sudo apt-get purge openssh-server
  2. sudo apt-get install openssh-server
  3. sudo nano /etc/ssh/sshd_config и запретить вход в корень, установив PermitRootLogin no
  4. Затем добавьте строку под ней, которая гласит:

  5. Отключите разделение привилегий путем добавления/изменения : UsePrivilegeSeparation no

  6. sudo service ssh --full-restart

  7. Подключитесь к подсистеме Linux из Windows с помощью ssh клиента типа PuTTY.

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

Вышеуказанные ответы были близки, но у меня все еще был вопрос Connection closed by 127.0.0.1.

Начав с нуля и удалив пакет sshd с опцией --purge (как показано ниже), я решил свою вариацию этой проблемы:

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.

Надеюсь, это поможет. =:)

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

Поскольку реализация windows не предоставляет chroot, вам нужно изменить /etc/ssh/sshd_config

UsePrivilegeSeparation no

Также вам нужно создать пользователя с помощью команды useradd или около того.

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

Я делал все, что предлагал мастер Азазель, и у меня была проблема. Когда я подключился к порту 22 меня попросили пароль, но пароль, который я установил в подсистеме Linux, не сработал.

Решение #1: измените SSH порт в /etc/ssh/sshd_config и перезапустите SSH сервер в подсистеме

Решение #2: отключите/остановите “SSH Server Broker Services” в панели управления службами Windows и перезапустите SSH сервер в подсистеме.

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

Причина, по которой вы не можете к нему подсоединиться, отображается в логах с сервера:

chroot(“/var/run/sshd”): Функция не реализована [preauth]

Похоже, что подсистема Linux не реализована chroot, и сервер ssh нуждается в ней, поэтому соединение не разрешено.