Как я могу использовать SSH в «Bash on Ubuntu в Windows 10»?
У меня выпущена версия Windows 10 Anniversary Edition с установленным и работающим «Bash on Ubuntu on Windows». Я хотел бы иметь возможность SSH в этом экземпляре Ubuntu, но хотя у меня есть openssh-сервер, установленный и настроенный (и прослушивающий на порту 2200), когда я пытаюсь ssh на «localhost: 2200», он сообщает мне «Сервер неожиданно Закрытое сетевое соединение ".
Кто-нибудь смог успешно выполнить это?
- Доступ к сменным носителям в Bash в Windows
- Где находится файловая система подсистемы Linux, расположенная в Windows 10?
- Не удается выполнить ping в Bash на Windows
- Где консоль Ubuntu в Windows10?
- Как запустить службу Ubuntu в Windows (при запуске)?
- Подсистема Windows Linux - доступ к файлам вне Ubuntu
- Команды npm не работают на WSL с zsh
- Sudo в Windows 10 Подсистема Linux не может разрешить локальное имя компьютера
- Как удалить / перезагрузить подсистему Windows для Linux в Windows Insider Build 14316
- Добавление Bash в Ubuntu в Windows 10 в контекстное меню проводника (выпуски)
- Windows 10 bash и mintty
- Как получить доступ к папкам Windows из Bash на Ubuntu в Windows
- Доступ в Интернет не работает в подсистеме Windows для Linux
Я получил его на работу; вот как.
Удаленный ssh-сервер, переустановил его и удостоверился, что он запущен с
sudo service ssh --full-restart
Убедитесь, что вы отключили доступ root и добавили другого пользователя в файл конфигурации.
Мне удалось подключиться к подсистеме на 127.0.0.1:22, как и ожидалось. Я надеюсь, что это поможет вам.
-
sudo apt-get remove openssh-server
-
sudo apt-get install openssh-server
-
sudo nano /etc/ssh/sshd_config
и запретить вход в root, установивPermitRootLogin no
-
Затем добавьте строку под ней, которая гласит:
AllowUsers yourusername
И убедитесь, что для параметра
PasswordAuthentication
установлено значениеyes
если вы хотите войти с помощью пароля. -
Отключить разделение привилегий путем добавления / изменения:
UsePrivilegeSeparation no
-
sudo service ssh --full-restart
-
Подключайтесь к своей подсистеме 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 нуждается в ней, поэтому соединение не разрешено.