Сначала подумал, что подсистема Linux таки вместе с собой привнесла что-то новое, но нет — компоненты появились в последнем обновлении ОС:
Сейчас для того, чтобы подключиться по SSH к компьютеру Windows 10 потребуется через «Управление компьютером» — «Группы пользователей» добавить пользователя в группу «SSH Users». Поддерживаются только пользователи на английском языке (по крайней мере у меня не получилось залогиниться с пользователем на русском).
При подключении открывается стандартный интерфейс командной строки Windows (очень странно, что не PowerShell, он был бы куда лучше).
Из пока что замеченных багов
1. Не показывается вывод whoami и некоторых других;
2. Выполнение команды не прерывается по CTRL+C;
3. Не работает PowerShell.
* Работу SCP не проверял. Если кому не сложно… И вдруг найдете, где и как ключи хранятся.
Если найдете что-то еще — сообщайте, дополню.
Комментарии (13)
Cheater
27.07.2016 13:18+4Эмм…
1) «The authenticity of host 'localhost' can't be established» — это совершенно нормально. С точки зрения known_hosts, локалхост ничем не отличается от любого другого хоста — он точно так же по умолчанию недоверенный. Под линуксом вы получите то же самое сообщение при попытке подключиться по ssh на localhost. Кроме того, никто не гарантирует, что порт SSH не форвардится с локалхоста ещё куда-то.
2) ssh под рутом не рекомендую практиковать — несекьюрно… В sshd в юниксах даже есть специальная настройка — не позволять ssh-иться суперпользователю. Заходить лучше простым и только простым юзером.
3) «И вдруг найдете, где и как ключи хранятся» — по аналогии с линуксом предположу, что %HOME%/.ssh/known_hosts.
4) «Не показывается вывод whoami и некоторых других, (...)» — так никто и не обещал юниксовые утилиты вроде? Вы совершенно определённо находитесь в cmd, а не в баше. SSH — лишь способ связи и SSH != bash. Если вам нужен bash с whoami и всем остальным под windows, то можете после залогинивания по ssh запустить, например, MinGW.
akamajoris
27.07.2016 14:29Когда винда получит поддержку UNIX-сокетов убью все виртуалки с линухой.
lorc
27.07.2016 17:22А какой аспект UNIX-сокетов вам нужен в винде? Там же есть Pipes.
Или вам нужно передавать fd между процессами? Тогда есть DuplicateHandle.akamajoris
27.07.2016 17:41Я про сеть в целом. На данный момент не реализованы некоторые протоколы (вроде ICMP) в баше [https://github.com/Microsoft/BashOnWindows/issues/18#issuecomment-207663429]
lorc
27.07.2016 18:04Так это не Unix Socket (AF_UNIX), это самые обычные сетевые сокеты (AF_INET).
akamajoris
27.07.2016 18:39С _UNIX тоже самое https://github.com/Microsoft/BashOnWindows/issues/134#issuecomment-208443290
Nomad1
27.07.2016 15:14+1Буквально позавчера подымал OpenSSH сервер на Windows Nano Server. Это специальная версия, заточенная ребятами из MS. В целом работает разумно, пусть и не отлично — нет цветов, стрелок, Backspace и некоторых наворотов, но без проблем работает SFTP, а заодно можно вызывать powershell команды, т.е. 'powershell Get-Process' выполняется, нет только command prompt.
Весьма хорошее начинание, пусть и пилить и пилить еще надо.
ALexhha
28.07.2016 15:12У меня к сожалению только отрицательный опыт работы с данным ssh сервером — очень много ошибок, очень мало функционала, на issue на github странице проекта отвечают очень вяло. Использовал в связке с Jenkins. В результате пришлось вернуться на cygwin. Возможно, через пару лет можно будет вернуться к данному продукту
chupasaurus
Такой SSH нам не нужен!
sayrys
Да, такой какой есть и правда нет, а вот от подключения в PowerShell я бы не отказался. После этого уже точно все можно будет заскриптовать =)