Configurazione del dispositivo per eseguire test IDT - AWS IoT Greengrass

AWS IoT Greengrass Version 1 è entrato nella fase di estensione della vita utile il 30 giugno 2023. Per ulteriori informazioni, consulta la politica AWS IoT Greengrass V1 di manutenzione. Dopo questa data, AWS IoT Greengrass V1 non rilascerà aggiornamenti che forniscano funzionalità, miglioramenti, correzioni di bug o patch di sicurezza. I dispositivi che funzionano AWS IoT Greengrass V1 non subiranno interruzioni e continueranno a funzionare e a connettersi al cloud. Ti consigliamo vivamente di eseguire la migrazione a AWS IoT Greengrass Version 2, che aggiunge nuove importanti funzionalità e supporto per piattaforme aggiuntive.

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Configurazione del dispositivo per eseguire test IDT

Per configurare il dispositivo è necessario installare dipendenze AWS IoT Greengrass, configurare il software AWS IoT Greengrass Core, configurare il computer host per accedere al dispositivo e configurare le autorizzazioni utente sul dispositivo.

Verifica le dipendenze AWS IoT Greengrass sul dispositivo sottoposto a test

Affinché IDT per AWS IoT Greengrass possa eseguire il test dei dispositivi, assicurati di avere configurato il dispositivo come descritto in Nozioni di base su AWS IoT Greengrass. Per ulteriori informazioni sulle piattaforme supportate, consulta la pagina relativa alle piattaforme supportate.

Configurazione del software AWS IoT Greengrass

IDT per AWS IoT Greengrass esegue il test del dispositivo per la compatibilità con una versione specifica di AWS IoT Greengrass. IDT offre due opzioni per eseguire il test di AWS IoT Greengrass sul dispositivo:

  • Scarica e utilizza una versione del software AWS IoT Greengrass Core. IDT installa il software per tuo conto.

  • Utilizza una versione del software AWS IoT Greengrass Core già installata sul dispositivo.

Nota

Ogni versione di AWS IoT Greengrass dispone di una versione IDT corrispondente. Devi scaricare la versione di IDT corrispondente alla versione di AWS IoT Greengrass in uso.

Le sezioni seguenti descrivono queste opzioni. È sufficiente eseguirne una.

Puoi scaricare ilAWS IoT GreengrassSoftware core delAWS IoT GreengrassSoftware Corepagina download.

  1. Trova la corretta architettura e distribuzione Linux, quindi scegli Scarica.

  2. Copia il file tar.gz in <device-tester-extract-location>/products/greengrass/ggc.

Nota

Non modificare il nome del file AWS IoT Greengrass tar.gz. Non posizionare più file in questa directory per lo stesso sistema operativo e architettura. Ad esempio, se i file greengrass-linux-armv7l-1.7.1.tar.gz e greengrass-linux-armv7l-1.8.1.tar.gz si trovano nella directory, il test non riesce.

Configura IDT per testate il software AWS IoT Greengrass Core installato sul dispositivo aggiungendo l'attributo greengrassLocation al file device.json nella cartella <device-tester-extract-location>/configs. Ad esempio:

"greengrassLocation" : "<path-to-greengrass-on-device>"

Per ulteriori informazioni sul file device.json, consulta Configura dispositivo.json.

Sui dispositivi Linux, la posizione predefinita del software AWS IoT Greengrass Core è /greengrass.

Nota

Il tuo dispositivo deve disporre di un installazione del software AWS IoT Greengrass Core che non è stata avviata.

Assicurati di aver aggiunto l'utente ggc_user e ggc_group sul dispositivo. Per ulteriori informazioni, consulta Configurazione dell'ambiente per AWS IoT Greengrass.

Configurazione del computer host per l'accesso al dispositivo sottoposto a test

IDT viene eseguito sul computer host e deve essere in grado di utilizzare SSH per connettersi al dispositivo. Sono disponibili due opzioni per consentire a IDT di ottenere l'accesso SSH ai dispositivi sottoposti a test:

  1. Segui le istruzioni contenute in questa pagina per creare una coppia di chiavi SSH e autorizzare la chiave ad accedere al dispositivo sottoposto a test senza specificare una password.

  2. Fornisci un nome utente e una password per ogni dispositivo nel file device.json. Per ulteriori informazioni, consulta la pagina Configura dispositivo.json .

Puoi utilizzare qualsiasi implementazione SSL per creare una chiave SSH. Le seguenti istruzioni mostrano come utilizzare SSH-KEYGEN o PuTTYgen (per Windows). Se stai utilizzando un'altra implementazione SSL, consulta la documentazione dell'applicazione.

IDT utilizza chiavi SSH per eseguire l'autenticazione con il dispositivo sottoposto a test.

Per creare una chiave SSH con SSH-KEYGEN
  1. Crea una chiave SSH.

    Puoi utilizzare il comando Open SSH ssh-keygen per creare una coppia di chiavi SSH. Se disponi già di una coppia di chiavi SSH sul computer host, una best practice è creare una coppia di chiavi SSH appositamente per IDT. In questo modo, dopo aver completato il test, il computer host non può più connettersi al dispositivo senza immettere una password. Ciò consente inoltre di limitare l'accesso al dispositivo remoto solo a coloro che ne hanno bisogno.

    Nota

    Windows non dispone di un client SSH installato. Per informazioni sull'installazione di un client SSH in Windows, consulta Download del software client SSH.

    Il comando ssh-keygen richiede di specificare un nome e un percorso di archiviazione della coppia di chiavi. Per impostazione predefinita, i file della coppia di chiavi sono id_rsa (chiave privata) e id_rsa.pub (chiave pubblica). In macOS e Linux, il percorso predefinito di questi file è ~/.ssh/. In Windows, la posizione predefinita è C:\Users\<user-name>\.ssh.

    Quando richiesto, immetti una frase chiave per proteggere la chiave SSH. Per ulteriori informazioni, consulta l'argomento relativo alla generazione di una nuova chiave SSH.

  2. Aggiungi chiavi SSH autorizzate al dispositivo sottoposto a test.

    IDT deve utilizzare la chiave privata SSH per accedere al dispositivo sottoposto al test. Per autorizzare le chiavi SSH private per accedere al dispositivo sottoposto a test, utilizza il comando ssh-copy-id dal computer host. Questo comando aggiunge la chiave pubblica al file ~/.ssh/authorized_keys nel dispositivo sottoposto a test. Ad esempio:

    $ ssh-copy-id <remote-ssh-user>@<remote-device-ip>

    Dove remote-ssh-user è il nome utente utilizzato per effettuare l'accesso al dispositivo sottoposto a test e remote-device-ip è l'indirizzo IP del dispositivo sottoposto a test per eseguire nuovamente i test. Ad esempio:

    ssh-copy-id pi@192.168.1.5

    Quando richiesto, immetti la password per il nome utente specificato nel comando ssh-copy-id.

    ssh-copy-id presuppone che la chiave pubblica sia denominata id_rsa.pub e sia archiviata nella posizione predefinita (in macOS e Linux ~/.ssh/ e in Windows C:\Users\<user-name>\.ssh). Se hai attribuito un nome diverso alla chiave pubblica o la hai archiviata in una posizione diversa, devi specificare il percorso completo della chiave pubblica SSH con l'opzione -i di ssh-copy-id, ad esempio ssh-copy-id -i ~/my/path/myKey.pub. Per ulteriori informazioni sulla creazione di chiavi SSH e sulla copia di chiavi pubbliche, consulta SSH-COPY-ID.

Per creare una chiave SSH utilizzando PuTTYgen (solo Windows)
  1. Assicurati di aver installato il server e il client OpenSSH sul dispositivo sottoposto a test. Per ulteriori informazioni, consulta OpenSSH.

  2. Installa PuTTYgen sul dispositivo sottoposto a test.

  3. Apri PuTTYgen.

  4. Scegli Generate (Genera) e sposta il cursore del mouse all'interno della casella per generare una chiave privata.

  5. Dal menu Conversions (Conversioni), scegli Export OpenSSH key (Esporta chiave OpenSSH) e salvare la chiave privata con un'estensione di file .pem.

  6. Aggiungi la chiave pubblica al file /home/<user>/.ssh/authorized_keys sul dispositivo sottoposto a test.

    1. Copia il testo della chiave pubblica dalla finestra PuTTYgen.

    2. Utilizza PuTTY per creare una sessione sul dispositivo sottoposto a test.

      1. Da un prompt dei comandi o dalla finestra Windows Powershell, esegui il comando seguente:

        C:/<path-to-putty>/putty.exe -ssh <user>@<dut-ip-address>

      2. Quando richiesto, immetti la password del dispositivo.

      3. Utilizza vi o un altro editor di testo per aggiungere la chiave pubblica al file /home/<user>/.ssh/authorized_keys sul dispositivo sottoposto a test.

  7. Aggiorna il file device.json con il nome utente, l'indirizzo IP e il percorso al file della chiave privata appena salvato sul computer host per ogni dispositivo sottoposto a test. Per ulteriori informazioni, consulta la pagina Configura dispositivo.json . Assicurati di fornire il percorso completo e il nome di file per la chiave privata e utilizza le barre ("/"). Ad esempio, per il percorso di Windows C:\DT\privatekey.pem, utilizza C:/DT/privatekey.pem nel file device.json.

Configurazione delle autorizzazioni utente sul dispositivo

IDT esegue operazioni su varie directory e file in un dispositivo sottoposto a test. Alcune di queste operazioni richiedono autorizzazioni elevate (utilizzando sudo). Per automatizzare queste operazioni, IDT per AWS IoT Greengrass deve essere in grado di eseguire comandi con sudo senza che venga richiesta una password.

Segui questi passaggi sul dispositivo sottoposto a test per consentire al comando sudo di accedere senza che venga richiesta una password.

Nota

username fa riferimento all'utente SSH utilizzato da IDT per accedere al dispositivo sottoposto a test.

Per aggiungere l'utente al gruppo sudo
  1. Sul dispositivo sottoposto a test, esegui sudo usermod -aG sudo <username>.

  2. Per rendere effettive le modifiche, esci ed esegui di nuovo l'accesso.

  3. Per verificare che il nome utente sia stato aggiunto correttamente, esegui sudo echo test. Se non viene è richiesta una password, l'utente è configurato correttamente.

  4. Apri il file /etc/sudoers, quindi aggiungi la riga seguente alla fine del file:

    <ssh-username> ALL=(ALL) NOPASSWD: ALL

Configurazione del dispositivo per testare le funzionalità opzionali

Negli argomenti seguenti viene descritto come configurare i dispositivi per eseguire test IDT per le funzionalità opzionali. Seguire questi passaggi di configurazione solo se si desidera testare queste funzionalità. Altrimenti, passare a Configurare le impostazioni IDT per eseguire ilAWS IoT Greengrasssuite di qualifica.