Как я могу SSH в "Bash на Ubuntu на Windows 10"?

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

кто-нибудь смог успешно осуществить такое?

enter image description here

86
задан magicandre1981 2016-08-09 17:52:46
источник

5 ответов

у меня получилось, вот как.

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

sudo service ssh --full-restart

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

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

Here's a screenshot.

  1. sudo apt-get purge 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-клиента, как замазка.

100
отвечен Master Azazel 2017-11-06 17:16:16
источник

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

UsePrivilegeSeparation no

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

24
отвечен d1val 2016-08-09 23:45:01
источник

в комитет выше ответы были великими. Благодарю вас за это. И хотя они подошли очень близко, у меня все еще было соединение закрыто 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

еще раз спасибо, я надеюсь это дополнение помогает другим. =:)

17
отвечен prismalytics.io 2017-06-08 06:56:28
источник

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

Решение #1:

измените порт SSH на /etc/ssh/sshd_config и перезапустить SSH-сервер в подсистеме

решение #2:

отключите / остановите "службы ssh server Broker" в панели управления службами Windows и перезапустите SSH сервер в подсистеме.

5
отвечен scotty86 2016-11-19 12:08:12
источник

Почему нельзя СШ показано в истории с сервера:

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

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

2
отвечен Sami Kuhmonen 2016-08-09 19:46:49
источник
X