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

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

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

Введите описание изображения здесь

Я получил его на работу; вот как.

Удаленный ssh-сервер, переустановил его и удостоверился, что он запущен с

 sudo service ssh --full-restart 

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

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

Вот скриншот.

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

    AllowUsers yourusername

    И убедитесь, что для параметра PasswordAuthentication установлено значение yes если вы хотите войти с помощью пароля.

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

  6. sudo service ssh --full-restart

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

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

 UsePrivilegeSeparation no 

Также вам нужно будет создать пользователя, используя команду useradd или так.

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

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

Решение №2:
Отключить / остановить «Службы брокеров сервера SSH» в панели управления службами Windows и перезапустить SSH-сервер в подсистеме.

Ответы, приведенные выше, были отличными. Спасибо вам за них. И в то время как они пришли очень близко, у меня все еще было соединение, закрытое проблемами 127.0.0.1 .

Я нашел и добавил дополнительные шаги из этого поста, которые заставили меня перепрыгнуть через горб. В частности, начиная с добавления и добавления в качестве начального / первого шага (обратите внимание на классификатор –purge ), наконец, разрешил мой вариант этой проблемы:

 sudo apt-get remove --purge openssh-server sudo apt-get install openssh-server sudo vi /etc/ssh/sshd_config # Change Port from 22 to 2222 (Just in case MS-Windows is using port 22; which, by the way, SSH on MS-Windows can be disabled if you want to use port 22). sudo service ssh --full-restart 

Еще раз спасибо, надеюсь, что это дополнение помогает другим. знак равно

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

Chroot ("/ var / run / sshd"): функция не реализована [preauth]

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

  • Где находится каталог bash Windows в Windows?
  • Как я могу получить доступ к учетным записям в Windows (созданный с помощью Bash-on-Ubuntu-on-Windows)?
  • Где находится диск C в WSL?
  • Как изменить язык подсистемы Linux в Windows 10 (WSL)?
  • Как я могу «открыть» файл из WSL с помощью приложения по умолчанию?
  • Подсистема Windows для Linux sources.list
  • Bash не работает после обновления Windows 10
  • Сборка скомпилированного исполняемого файла на Bash на Ubuntu в Windows не производит вывод
  • Давайте будем гением компьютера.