Condividi tramite


Connettersi tramite SSH

È possibile usare OpenSSH per connettersi a dispositivi e macchine virtuali del sistema operativo factory ed eseguire comandi o file di trasferimento. OpenSSH (Secure Shell) è un protocollo standard per le connessioni terminal sicure.

È possibile usare SSH per connettersi a tutte le immagini del sistema operativo factory

Topologia WDP che mostra che è possibile connettersi tramite SSH da un pc remoto

Elementi necessari per connettersi tramite SSH

Per connettersi a un dispositivo tramite SSH, è necessario:

  • Il server SSH avviato nel dispositivo del sistema operativo factory
  • Un client SSH sul PC tecnico. Windows 10 include un client SSH installato per impostazione predefinita.
  • Indirizzo IP del dispositivo a cui ci si connette. Nel sistema operativo factory ottenere l'indirizzo IP dalla schermata principale dell'app Factory Composer o nell'angolo superiore destro di Factory Orchestrator.
  • Autenticazione configurata per SSH. Può trattarsi di:
    • Nome utente e password
    • Coppia di chiavi

Avviare il server SSH

Nelle immagini che includono il manifesto della funzionalità WindowsCoreNonProductionFM, è possibile aggiungere la WCOS_OPENSSH_AUTOSTART funzionalità per avviare automaticamente il server SSH.

Se l'immagine non è configurata per avviare automaticamente il server SSH, è possibile usare Windows Device Portal per avviare manualmente il server SSH.

  1. Aprire un browser nel PC tecnico e passare all'URL del dispositivo del sistema operativo factory.
  2. Dopo la connessione a Device Portal, passare alla scheda SSH nel riquadro a sinistra. La scheda SSH si trova nella parte inferiore dell'elenco.
  3. Selezionare Abilita SSH.

Connessione tramite un nome e una password

Per potersi connettere usando un nome utente e una password, è necessario prima configurare un nome utente e una password. La configurazione di un nome utente e una password SSH dipendono dal prodotto del sistema operativo factory in uso.

Nome utente e password nel sistema operativo factory

Il sistema operativo factory include un account amministratore predefinito che è possibile usare per connettersi con SSH:

  • Nome utente: FactoryUser
  • Password: WindowsCore

È possibile personalizzare il nome utente e la password con le SSHUsername impostazioni e SSHPassword nel framework di personalizzazione delle impostazioni.

Connessione tramite una coppia di chiavi

Se si dispone di una coppia di chiavi per SSH (vedere la documentazione del client SSH per informazioni dettagliate), è possibile usarla invece di un nome utente e una password.

Sarà necessaria una chiave pubblica in formato OpenSSH. Eseguire ssh-keygen.exe sul PC tecnico per generarne uno. ssh-keygen è incluso in Windows.

Creare una coppia di chiavi

  1. Da un prompt dei comandi sul PC tecnico eseguire ssh-keygen.exe per generare una coppia di chiavi pubblica e privata. Quando si esegue questo comando, è possibile scegliere di salvare le chiavi in un percorso nel PC e anche impostare una password:

    ssh-keygen
    

    Questo comando richiederà le informazioni seguenti e fornirà un output simile al seguente:

    Enter file in which to save the key (C:\Users\User/.ssh/id_rsa):
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in C:\Users\User/.ssh/id_rsa.
    Your public key has been saved in C:\Users\User/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:<SHA245> user@COMPUTER
    The key's randomart image is:
    +---[RSA 2048]----+
    |     .o oo=+.+OB |
    |     ..o.... =B+o|
    |      .o ++ +oo*o|
    |       ... +.o+..|
    |      . S   oo.+.|
    |       . .   .+.E|
    |        .    ... |
    |                 |
    |                 |
    +----[SHA256]-----+
    
  2. Passare alla cartella in cui sono state archiviate le chiavi, verrà visualizzata una chiave privata senza estensione e una chiave pubblica con estensione pub.

  3. Aprire il file di chiave pubblica con un editor di testo. La chiave pubblica non è sensibile. come indicato di seguito:

    ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAiez5r6NN01TK5yFPCV34Po4UdsMej4Gbl441SAzGihcE3eV7bSnLRR32RKH8T6ZQ2eZSZ1zPD6xkGnBE0CXvlHLP76nva4AaoCoPAEDIbNKLVmPiKn6U6MDlkass6TFrfOBlsY3m+rZyWJipZEFLrptvqli72lkWttUNfwgu8CJKMBbjGsd4HS3EFwCrSsKqI2MBKk7SO3+DNrwAPUWK9O/hT/mqARMMMbD/zM0BrHZ/U9mc3w/x2y2awpONJF9yVjfXAvG6JTrB+Bh6pr2BYccmVAwPmXkQM+3HrFjS7nfSZnjBQE3YD6PTZfT7Qs6V15CoCvIaoRQs0AEBJLK53Q== rsa-key-20180427
    
  4. Copiare il contenuto della chiave pubblica negli Appunti.

  5. Connettersi al dispositivo WCOS con Device Portal. Naveigate nella scheda SSH nel riquadro sinistro e copiare la chiave pubblica dagli Appunti nella casella denominata Chiave pubblica per l'utente desiderato.

Connessione

Dopo aver configurato l'authenication, è possibile connettersi al dispositivo del sistema operativo factory:

  1. Aprire una finestra del prompt dei comandi nel PC tecnico.

  2. Connettersi al dispositivo:

    1. Per connettersi usando un nome utente e una password:
    ssh user@192.168.1.2
    

    Dove user è il nome utente scelto durante la configurazione di SSH e 192.168.1.2 è l'indirizzo IP del dispositivo del sistema operativo factory.

    1. Per connettersi usando una coppia di chiavi
    ssh -i C:\Users\User/.ssh/id_rsa user@192.168.1.2
    

    Dove C:\Users\User/.ssh/id_rsa id la chiave privata, user è il nome utente scelto durante la configurazione di SSH e 192.168.1.2 è l'indirizzo IP del dispositivo del sistema operativo factory.

  3. Immettere la password per l'utente se ci si connette con un nome utente e una password oppure se la chiave è stata configurata per richiedere una password.

FTP sicuro

È possibile usare SSH per il trasferimento di file tramite il protocollo sftp. Se è stato abilitato SSH nel dispositivo del sistema operativo factory, sarà anche possibile connettersi con sftp.

WinSCP è il client GUI più diffuso per il trasferimento di file tramite sftp in Windows. Seguire la documentazione per informazioni su come usarla.

Se si preferisce uno strumento da riga di comando, è possibile usare sftp e scp:

Sftp:

usage: sftp [-46aCfpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
         [-D sftp_server_path] [-F ssh_config] [-i identity_file] [-l limit]
         [-o ssh_option] [-P port] [-R num_requests] [-S program]
         [-s subsystem | sftp_server] destination

Scp:

usage: scp [-346BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file]
          [-l limit] [-o ssh_option] [-P port] [-S program] source ... target

Le utilità precedenti sono incluse in Windows e possono essere eseguite avviando un prompt dei comandi.