Compartilhar via


Secure Shell (SSH)

O Secure Shell (SSH) permite que você administre e configure remotamente seu dispositivo IoT Core Windows

Usando o cliente Windows 10 OpenSSH

Importante

O cliente Windows OpenSSH exige que o sistema operacional host do cliente SSH seja Windows 10 versão 1803(17134). Além disso, o dispositivo Windows 10 IoT Core deve estar executando o RS5 Windows Insider Preview versão 17723 ou superior.

O cliente OpenSSH foi adicionado ao Windows 10 em 1803 (build 17134) como um recurso opcional. Para instalar o cliente, você pode pesquisar por Gerenciar Recursos Opcionais nas configurações de Windows 10. Se o Cliente OpenSSH não estiver listado na lista de recursos instalados, escolha Adicionar um recurso.

Add a feature

Em seguida, selecione Cliente OpenSSH na lista e clique em Instalar.

OpenSSH Client Install

Para fazer logon com um nome de usuário e senha, use o seguinte comando:

ssh administrator@host

Onde o host é o endereço IP do dispositivo IoT Core Windows ou o nome do dispositivo.

Na primeira vez que você se conectar, você verá uma mensagem como a seguinte:

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)?

Digite sim e pressione Enter.

Se você precisar fazer logon como DefaultAccount e não como administrador, precisará gerar uma chave e usar a chave para fazer logon. Na área de trabalho da qual você pretende se conectar ao dispositivo IoT, abra uma janela do PowerShell e altere para sua pasta de dados pessoais (por exemplo, cd ~)

cd ~
ssh-keygen -t rsa -f id_rsa

Registre a chave com o ssh-agent (opcional, para experiência de logon único). Observe que ssh-add deve ser executado de uma pasta que é ACL'd para você como o usuário conectado (Builtin\Administrators e o usuário NT_AUTHORITY\System também estão bem). Por padrão, o cd ~ do PowerShell deve ser suficiente, conforme mostrado abaixo.

cd ~
net start ssh-agent
ssh-add id_rsa

Dica

Se você receber uma mensagem informando que o serviço ssh-agent está desabilitado, você pode habilitá-lo com sc.exe configuração ssh-agent start=auto

Para habilitar o sinal único, acrescente a chave pública ao Windows arquivo de authorized_keys do dispositivo IoT Core. Ou, se você tiver apenas uma chave, copie o arquivo de chave pública para o arquivo 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

Se a chave não estiver registrada no ssh-agent, ela deverá ser especificada na linha de comando para fazer logon:

ssh -i .\id_rsa DefaultAccount@host

Se a chave privada for registrada com ssh-agent, você só precisará especificar DefaultAccount@host:

ssh DefaultAccount@host

Na primeira vez que você se conectar, você verá uma mensagem como a seguinte:

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)?

Digite sim e pressione Enter.

Agora você deve estar conectado como DefaultAccount

Para usar o logon único com a conta de administrador, acrescente sua chave pública a c:\data\ProgramData\ssh\administrators_authorized_keys no dispositivo IoT Core 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

Você também precisará definir a ACL para administrators_authorized_keys para corresponder à ACL de ssh_host_dsa_key no mesmo diretório.

icacls x:\data\ProgramData\ssh\administrators_authorized_keys /remove "NT AUTHORITY\Authenticated Users"
icacls x:\data\ProgramData\ssh\administrators_authorized_keys /inheritance:r

Para definir a ACL usando o PowerShell

get-acl x:\data\ProgramData\ssh\ssh_host_dsa_key | set-acl x:\data\ProgramData\ssh\administrators_authorized_keys

Observação

Se você vir uma mensagem DE IDENTIFICAÇÃO DO HOST REMOTO ALTERADA após fazer alterações no dispositivo Windows 10 IoT Core, edite C:\Username.ssh<>\known_hosts e remova o host que foi alterado.

Veja também: Win32-OpenSSH

Usar o PuTTY

Baixar um cliente SSH

Para se conectar ao dispositivo usando o SSH, primeiro você precisará baixar um cliente SSH, como o PuTTY.

Conectar-se ao seu dispositivo

  • Para se conectar ao dispositivo, primeiro você precisa obter o endereço IP do dispositivo. Depois de inicializar seu dispositivo Windows IoT Core, um endereço IP será mostrado na tela anexada ao dispositivo:

    DefaultApp on Windows IoT Core

  • Agora, inicie o PuTTY e insira o endereço IP na Host Name caixa de texto e verifique se o botão de opção SSH está selecionado. Em seguida, clique Openem .

    PuTTY Configuration

  • Se você estiver se conectando ao seu dispositivo pela primeira vez do computador, poderá ver o seguinte alerta de segurança. Basta clicar Yes para continuar.

    PuTTY Security Alert

  • Se a conexão foi bem-sucedida, você deverá ver login as: na tela, solicitando que você faça logon.
    Insira Administrator e pressione Enter. Em seguida, insira a senha p@ssw0rd padrão como a senha e pressione Enter.

    PuTTY Login

    Se você conseguiu fazer logon com êxito, verá algo assim:

    PuTTY Console

Atualizar senha da conta

É altamente recomendável que você atualize a senha padrão para a conta de Administrador.

Para fazer isso, insira o seguinte comando no console do PuTTY, substituindo [new password] por uma senha forte:

    net user Administrator [new password]

Configurar seu dispositivo Windows IoT Core

  • Para poder implantar aplicativos do Visual Studio 2017, você precisará verificar se o Depurador Remoto do Visual Studio está em execução em seu dispositivo Windows IoT Core. O depurador remoto deve ser iniciado automaticamente na hora de inicialização do computador. Para verificar duas vezes, use o comando tlist para listar todos os processos em execução do PowerShell. Deve haver duas instâncias de msvsmon.exe em execução no dispositivo.

  • É possível que o Depurador Remoto do Visual Studio tempo limite após longos períodos de inatividade. Se Visual Studio não puder se conectar ao dispositivo IoT Core Windows, tente reinicializar o dispositivo.

  • Se desejar, você também pode renomear seu dispositivo. Para alterar o 'nome do computador', use o setcomputername utilitário:

        setcomputername <new-name>

Você precisará reinicializar o dispositivo para que a alteração entre em vigor. Você pode usar o comando da shutdown seguinte maneira:

        shutdown /r /t 0

Utilitários comumente usados

Consulte a página Utils de Linha de Comando para obter uma lista de comandos e utilitários que você pode usar com SSH.