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à.
Selezionare quindi OpenSSH Client nell'elenco e fare clic su Installa.
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 sì 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 sì 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:
Avviare PuTTY e immettere l'indirizzo IP nella
Host Name
casella di testo e assicurarsi che ilSSH
pulsante di opzione sia selezionato. Fare quindi clic suOpen
.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.Se la connessione ha avuto esito positivo, verrà visualizzato
login as:
sullo schermo, richiedendo di accedere.
ImmettereAdministrator
e premere INVIO. Immettere quindi la password predefinita come passwordp@ssw0rd
e premere INVIO.Se è stato possibile accedere correttamente, verrà visualizzato un aspetto simile al seguente:
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.