Share via


Secure Shell (SSH)

Secure Shell (SSH) consente di amministrare e configurare in remoto il dispositivo IoT Core Windows

Uso del client OpenSSH Windows 10

Importante

Il client OpenSSH Windows richiede che il sistema operativo host SSH sia Windows 10 versione 1803(17134). Inoltre, il dispositivo Windows 10 IoT Core deve eseguire RS5 Windows Insider Preview versione 17723 o successiva.

Il client OpenSSH è stato aggiunto a Windows 10 nel 1803 (build 17134) come funzionalità facoltativa. Per installare il client, è possibile cercare Gestisci funzionalità facoltative nelle impostazioni di Windows 10. Se il client OpenSSH non è elencato nell'elenco delle funzionalità installate, scegliere Aggiungi una funzionalità.

Add a feature

Selezionare quindi OpenSSH Client nell'elenco e fare clic su Installa.

OpenSSH Client Install

Per accedere con un nome utente e una password, usare il comando seguente:

ssh administrator@host

Dove host è l'indirizzo IP del dispositivo IoT Core Windows o il nome del dispositivo.

La prima volta che ci si connette viene visualizzato un messaggio simile al seguente:

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

Digitare e premere INVIO.

Se è necessario accedere come DefaultAccount anziché come amministratore, sarà necessario generare una chiave e usare la chiave per accedere. Dal desktop da cui si intende connettersi al dispositivo IoT, aprire una finestra di PowerShell e passare alla cartella dei dati personali (ad esempio cd ~)

cd ~
ssh-keygen -t rsa -f id_rsa

Registrare la chiave con ssh-agent (facoltativa, per l'esperienza di Single Sign-On). Si noti che ssh-add deve essere eseguito da una cartella che è ACL come utente connesso (Builtin\Administrators e l'utente di NT_AUTHORITY\System sono anche ok). Per impostazione predefinita, cd ~ da PowerShell deve essere sufficiente come illustrato di seguito.

cd ~
net start ssh-agent
ssh-add id_rsa

Suggerimento

Se viene visualizzato un messaggio che il servizio ssh-agent è disabilitato, è possibile abilitarlo con sc.exe config ssh-agent start=auto

Per abilitare l'accesso Single Sign, aggiungere la chiave pubblica al file di Windows authorized_keys dispositivo IoT Core. In alternativa, se si dispone di una sola chiave, copiare il file di chiave pubblica nel file di 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 la chiave non è registrata con ssh-agent, deve essere specificata nella riga di comando per accedere:

ssh -i .\id_rsa DefaultAccount@host

Se la chiave privata è registrata con ssh-agent, è necessario specificare solo DefaultAccount@host:

ssh DefaultAccount@host

La prima volta che ci si connette viene visualizzato un messaggio simile al seguente:

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

Digitare e premere INVIO.

È ora necessario essere connessi come DefaultAccount

Per usare l'accesso Single Sign-On con l'account amministratore, aggiungere la chiave pubblica a c:\data\ProgramData\ssh\administrators_authorized_keys nel 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

È anche necessario impostare l'ACL per administrators_authorized_keys in modo che corrisponda all'elenco di controllo di accesso di ssh_host_dsa_key nella stessa directory.

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

Per impostare l'elenco di controllo di accesso con PowerShell

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

Nota

Se viene visualizzato un messaggio REMOTE HOST IDENTIFICATION CHANGED dopo aver apportato modifiche al dispositivo Windows 10 IoT Core, modificare C:\Users<username.ssh>\known_hosts e rimuovere l'host modificato.

Vedere anche: Win32-OpenSSH

Uso di PuTTY

Scaricare un client SSH

Per connettersi al dispositivo usando SSH, è prima necessario scaricare un client SSH, ad esempio PuTTY.

Connettersi al dispositivo

  • Per connettersi al dispositivo, è prima necessario ottenere l'indirizzo IP del dispositivo. Dopo l'avvio del dispositivo Windows IoT Core, verrà visualizzato un indirizzo IP sullo schermo collegato al dispositivo:

    DefaultApp on Windows IoT Core

  • Avviare PuTTY e immettere l'indirizzo IP nella Host Name casella di testo e assicurarsi che il SSH pulsante di opzione sia selezionato. Fare quindi clic su Open.

    PuTTY Configuration

  • Se ci si connette al dispositivo per la prima volta dal computer, è possibile che venga visualizzato l'avviso di sicurezza seguente. Fare clic Yes per continuare.

    PuTTY Security Alert

  • Se la connessione ha avuto esito positivo, verrà visualizzato login as: sullo schermo, richiedendo di accedere.
    Immettere Administrator e premere INVIO. Immettere quindi la password predefinita come password p@ssw0rd e premere INVIO.

    PuTTY Login

    Se è stato possibile accedere correttamente, verrà visualizzato un aspetto simile al seguente:

    PuTTY Console

Aggiornare la password dell'account

È consigliabile aggiornare la password predefinita per l'account Amministratore.

A tale scopo, immettere il comando seguente nella console PuTTY, sostituendo [new password] con una password complessa:

    net user Administrator [new password]

Configurare il dispositivo IoT Core Windows

  • Per poter distribuire applicazioni da Visual Studio 2017, è necessario assicurarsi che l'Visual Studio Remote Debugger sia in esecuzione nel dispositivo IoT Core Windows. Il debugger remoto deve essere avviato automaticamente all'ora di avvio del computer. Per eseguire il doppio controllo, usare il comando tlist per elencare tutti i processi in esecuzione da PowerShell. Nel dispositivo devono essere presenti due istanze di msvsmon.exe in esecuzione.

  • È possibile che il Visual Studio Remote Debugger timeout dopo lunghi periodi di inattività. Se Visual Studio non è possibile connettersi al dispositivo IoT Core Windows, provare a riavviare il dispositivo.

  • Se vuoi, puoi anche rinominare il dispositivo. Per modificare il nome del computer, usare l'utilità setcomputername :

        setcomputername <new-name>

Sarà necessario riavviare il dispositivo per l'effetto della modifica. È possibile usare il shutdown comando come indicato di seguito:

        shutdown /r /t 0

Utilità comunemente usate

Per un elenco di comandi e utilità, vedere la pagina Utils della riga di comando che è possibile usare con SSH.