Secure Shell (SSH)
Secure Shell (SSH) permite administrar y configurar de forma remota el dispositivo Windows IoT Core.
Uso del cliente openSSH de Windows 10
Importante
El Windows cliente OpenSSH requiere que el sistema operativo del host de cliente SSH esté Windows 10 versión 1803(17134). Además, el dispositivo Windows 10 IoT Core debe ejecutar RS5 Windows Insider Preview versión 17723 o superior.
El cliente OpenSSH se agregó a Windows 10 en 1803 (compilación 17134) como una característica opcional. Para instalar el cliente, puede buscar Administrar características opcionales en Windows 10 configuración. Si el cliente OpenSSH no aparece en la lista de características instaladas, elija Agregar una característica.
A continuación, seleccione OpenSSH Client en la lista y haga clic en Instalar.
Para iniciar sesión con un nombre de usuario y una contraseña, use el siguiente comando:
ssh administrator@host
Donde host es la dirección IP del dispositivo Windows IoT Core o el nombre del dispositivo.
La primera vez que conecte verá un mensaje similar al siguiente:
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)?
Escriba sí y presione Entrar.
Si necesita iniciar sesión como DefaultAccount en lugar de como administrador, deberá generar una clave y usar la clave para iniciar sesión. Desde el escritorio desde el que quiere conectarse al dispositivo IoT, abra una ventana de PowerShell y cambie a la carpeta de datos personales (por ejemplo, cd ~).
cd ~
ssh-keygen -t rsa -f id_rsa
Registre la clave con ssh-agent (opcional, para la experiencia de inicio de sesión único). Tenga en cuenta que ssh-add debe realizarse desde una carpeta que sea ACL para usted como el usuario que ha iniciado sesión (Builtin\Administrators y el usuario NT_AUTHORITY\System también están correctos). De forma predeterminada, cd ~ de PowerShell debe ser suficiente como se muestra a continuación.
cd ~
net start ssh-agent
ssh-add id_rsa
Sugerencia
Si recibe un mensaje que indica que el servicio ssh-agent está deshabilitado, puede habilitarlo con sc.exe config ssh-agent start=auto
Para habilitar el inicio de sesión único, anexe la clave pública al archivo de Windows dispositivo IoT Core authorized_keys. O bien, si solo tiene una clave, copie el archivo de clave pública en el archivo de authorized_keys remoto.
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
Si la clave no está registrada con ssh-agent, debe especificarse en la línea de comandos para iniciar sesión:
ssh -i .\id_rsa DefaultAccount@host
Si la clave privada está registrada con ssh-agent, solo tiene que especificar DefaultAccount@host:
ssh DefaultAccount@host
La primera vez que conecte verá un mensaje similar al siguiente:
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)?
Escriba sí y presione Entrar.
Ahora debería estar conectado como DefaultAccount.
Para usar el inicio de sesión único con la cuenta de administrador, anexe la clave pública a c:\data\ProgramData\ssh\administrators_authorized_keys en el dispositivo ioT Core de Windows.
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
También deberá establecer la ACL para administrators_authorized_keys para que coincida con la ACL de ssh_host_dsa_key en el mismo directorio.
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /inheritance:r
Para establecer la ACL mediante PowerShell
get-acl x:\data\ProgramData\ssh\ssh_host_dsa_key | set-acl x:\data\ProgramData\ssh\administrators_authorized_keys
Nota
Si ve un mensaje REMOTE HOST IDENTIFICATION CHANGED después de realizar cambios en el dispositivo Windows 10 IoT Core, edite C:\Users<username.ssh>\known_hosts y quite el host que ha cambiado.
Consulte también: Win32-OpenSSH
Usar PuTTY
Descarga de un cliente SSH
Para conectarse al dispositivo mediante SSH, primero deberá descargar un cliente SSH, como PuTTY.
Conexión al dispositivo
Para conectarse al dispositivo, primero debe obtener la dirección IP del dispositivo. Después de arrancar el dispositivo Windows IoT Core, se mostrará una dirección IP en la pantalla conectada al dispositivo:
Ahora inicie PuTTY y escriba la dirección IP en el
Host Name
cuadro de texto y asegúrese de que elSSH
botón de radio está seleccionado. A continuación, haga clic enOpen
.Si se conecta al dispositivo por primera vez desde el equipo, es posible que vea la siguiente alerta de seguridad. Solo tienes que hacer clic
Yes
para continuar.Si la conexión se realizó correctamente, debería ver
login as:
en la pantalla, en la que se le pedirá que inicie sesión.
EscribaAdministrator
y presione Entrar. A continuación, escriba la contraseñap@ssw0rd
predeterminada como contraseña y presione Entrar.Si pudo iniciar sesión correctamente, debería ver algo parecido a esto:
Actualización de la contraseña de la cuenta
Se recomienda encarecidamente actualizar la contraseña predeterminada para la cuenta de administrador.
Para ello, escriba el siguiente comando en la consola de PuTTY, reemplazando por [new password]
una contraseña segura:
net user Administrator [new password]
Configuración del dispositivo ioT Core de Windows
Para poder implementar aplicaciones desde Visual Studio 2017, debe asegurarse de que el Visual Studio Remote Debugger se ejecuta en el dispositivo Windows IoT Core. El depurador remoto debe iniciarse automáticamente en el tiempo de arranque de la máquina. Para comprobarlo, use el comando tlist para enumerar todos los procesos en ejecución de PowerShell. Debe haber dos instancias de msvsmon.exe en ejecución en el dispositivo.
Es posible que el Visual Studio Remote Debugger agote el tiempo de espera después de largos períodos de inactividad. Si Visual Studio no se puede conectar al dispositivo Windows IoT Core, intente reiniciar el dispositivo.
Si lo desea, también puede cambiar el nombre del dispositivo. Para cambiar el "nombre del equipo", use la
setcomputername
utilidad :
setcomputername <new-name>
Tendrá que reiniciar el dispositivo para que el cambio surta efecto. Puede usar el comando de la shutdown
siguiente manera:
shutdown /r /t 0
Utilidades usadas habitualmente
Consulte la página Utils de la línea de comandos para obtener una lista de comandos y utilidades que puede usar con SSH.