Безопасная оболочка (SSH)
Secure Shell (SSH) позволяет удаленно администрировать и настраивать устройство IoT Core Windows
Использование клиента Windows 10 OpenSSH
Важно!
Для Windows клиента OpenSSH требуется, чтобы ос узла клиента SSH Windows 10 версии 1803(17134). Кроме того, устройство Windows 10 IoT Базовая должно работать под управлением RS5 Windows Insider Preview выпуска 17723 или более поздней версии.
Клиент OpenSSH был добавлен в Windows 10 в версии 1803 (сборка 17134) в качестве необязательной функции. Чтобы установить клиент, можно выполнить поиск по запросу "Управление дополнительными компонентами" в параметрах Windows 10. Если клиент OpenSSH не указан в списке установленных компонентов, нажмите кнопку "Добавить компонент".
Затем выберите Клиент OpenSSH в списке и нажмите кнопку "Установить".
Чтобы войти с помощью имени пользователя и пароля, используйте следующую команду:
ssh administrator@host
Где узел является IP-адресом устройства Windows IoT Core или именем устройства.
При первом подключении вы увидите следующее сообщение:
The authenticity of host 'hostname (192.168.0.12)' can't be established.
ECDSA key fingerprint is SHA256:RahZpBFpecRiPmw8NGSa+7VKs8mgqQi/j2i1Qr9lUNU.
Are you sure you want to continue connecting (yes/no)?
Введите "Да " и нажмите клавишу ВВОД.
Если вам нужно войти в качестве DefaultAccount, а не от имени администратора, необходимо создать ключ и использовать его для входа. На рабочем столе, с которым вы планируете подключиться к устройству Интернета вещей, откройте окно PowerShell и перейдите в папку персональных данных (например, cd ~)
cd ~
ssh-keygen -t rsa -f id_rsa
Зарегистрируйте ключ в SSH-agent (необязательно для единого входа). Обратите внимание, что ssh-add необходимо выполнить из папки, которая является ACL для вас в качестве вошедшего пользователя (Builtin\Administrators и NT_AUTHORITY\System пользователь также в порядке). По умолчанию cd ~ из PowerShell должно быть достаточно, как показано ниже.
cd ~
net start ssh-agent
ssh-add id_rsa
Совет
Если появится сообщение о том, что служба SSH-agent отключена, ее можно включить с помощьюsc.exe config ssh-agent start=auto
Чтобы включить единый вход, добавьте открытый ключ в файл Windows устройства IoT Core authorized_keys. Или если у вас есть только один ключ, то файл открытого ключа копируется в удаленный файл authorized_keys .
net use X: \\host\c$ /user:host\administrator
if not exist x:\data\users\defaultaccount\.ssh md x:\data\users\defaultaccount\.ssh
copy .\id_rsa.pub x:\data\users\defaultaccount\.ssh\authorized_keys
Если ключ не зарегистрирован в SSH-agent, его необходимо указать в командной строке для входа:
ssh -i .\id_rsa DefaultAccount@host
Если закрытый ключ зарегистрирован в SSH-agent, необходимо указать только DefaultAccount@host:
ssh DefaultAccount@host
При первом подключении вы увидите следующее сообщение:
The authenticity of host 'hostname (192.168.0.12)' can't be established.
ECDSA key fingerprint is SHA256:RahZpBFpecRiPmw8NGSa+7VKs8mgqQi/j2i1Qr9lUNU.
Are you sure you want to continue connecting (yes/no)?
Введите "Да " и нажмите клавишу ВВОД.
Теперь вы должны быть подключены как DefaultAccount
Чтобы использовать единый вход с учетной записью администратора, добавьте открытый ключ в каталог c:\data\ProgramData\ssh\administrators_authorized_keys на устройстве Windows IoT Core.
net use X: \\host\c$ /user:host\administrator
copy .\id_rsa.pub x:\data\ProgramData\ssh\administrators_authorized_keys
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icaclsx:\data\ProgramData\ssh\administrators_authorized_keys /inheritance:r
Кроме того, необходимо задать список ACL для administrators_authorized_keys в соответствии с ACL ssh_host_dsa_key в том же каталоге.
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /inheritance:r
Настройка ACL с помощью PowerShell
get-acl x:\data\ProgramData\ssh\ssh_host_dsa_key | set-acl x:\data\ProgramData\ssh\administrators_authorized_keys
Примечание
Если после внесения изменений в устройство Windows 10 IoT Базовая отображается сообщение ОБ ИЗМЕНЕНИИ ИДЕНТИФИКАТОРА УДАЛЕННОГО УЗЛА, измените C:\Users<username.ssh>\known_hosts и удалите измененный узел.
См. также: Win32-OpenSSH
Использование PuTTY
Скачивание клиента SSH
Чтобы подключиться к устройству с помощью SSH, сначала необходимо скачать клиент SSH, например PuTTY.
Подключение к устройству
Чтобы подключиться к устройству, сначала необходимо получить IP-адрес устройства. После загрузки устройства Windows IoT Core IP-адрес будет отображаться на экране, подключенном к устройству:
Теперь запустите PuTTY и введите IP-адрес в текстовом
Host Name
поле и убедитесь, чтоSSH
переключатель установлен. Затем нажмите кнопкуOpen
.Если вы подключаетесь к устройству в первый раз с компьютера, может появиться следующее оповещение системы безопасности. Просто щелкните
Yes
, чтобы продолжить.Если подключение прошло успешно, на экране появится
login as:
запрос на вход.
ВведитеAdministrator
и нажмите клавишу ВВОД. Затем введите пароль по умолчанию в качестве пароляp@ssw0rd
и нажмите клавишу ВВОД.Если вы успешно выполнили вход, вы увидите примерно следующее:
Обновление пароля учетной записи
Настоятельно рекомендуется обновить пароль по умолчанию для учетной записи администратора.
Для этого введите следующую команду в консоли PuTTY, заменив [new password]
надежным паролем:
net user Administrator [new password]
Настройка устройства Windows IoT Core
Чтобы иметь возможность развертывать приложения из Visual Studio 2017 года, необходимо убедиться, что Удаленный отладчик Visual Studio работает на устройстве Windows IoT Core. Удаленный отладчик должен запускаться автоматически во время загрузки компьютера. Чтобы выполнить двойную проверку, используйте команду tlist, чтобы получить список всех выполняющихся процессов из PowerShell. На устройстве должно быть два экземпляра msvsmon.exe.
Время ожидания Удаленный отладчик Visual Studio может истекать после длительных периодов бездействия. Если Visual Studio не удается подключиться к устройству Windows IoT Core, попробуйте перезагрузить устройство.
При желании можно также переименовать устройство. Чтобы изменить имя компьютера, используйте служебную
setcomputername
программу:
setcomputername <new-name>
Чтобы изменение вступило в силу, потребуется перезагрузить устройство. Эту команду можно использовать shutdown
следующим образом:
shutdown /r /t 0
Часто используемые служебные программы
Список команд и служебных программ, которые можно использовать с SSH, см. на странице Utils командной строки .