SSH (Secure Shell)

Secure Shell (SSH) vous permet d’administrer et de configurer à distance votre appareil IoT Core Windows

Utilisation du client OpenSSH Windows 10

Important

Le client OpenSSH Windows nécessite que votre système d’exploitation hôte du client SSH soit Windows 10 version 1803(17134). En outre, l’appareil Windows 10 IoT Standard doit exécuter RS5 Windows Insider Preview version 17723 ou ultérieure.

Le client OpenSSH a été ajouté à Windows 10 en 1803 (build 17134) comme fonctionnalité facultative. Pour installer le client, vous pouvez rechercher Gérer les fonctionnalités facultatives dans Windows 10 paramètres. Si le client OpenSSH n’est pas répertorié dans la liste des fonctionnalités installées, choisissez Ajouter une fonctionnalité.

Add a feature

Sélectionnez ensuite OpenSSH Client dans la liste, puis cliquez sur Installer.

OpenSSH Client Install

Pour vous connecter avec un nom d’utilisateur et un mot de passe, utilisez la commande suivante :

ssh administrator@host

Où l’hôte est l’adresse IP de l’appareil IoT Core Windows ou le nom de l’appareil.

La première fois que vous vous connectez, vous voyez un message comme suit :

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

Tapez oui et appuyez sur Entrée.

Si vous devez vous connecter en tant que DefaultAccount plutôt qu’en tant qu’administrateur, vous devez générer une clé et utiliser la clé pour vous connecter. À partir du bureau à partir duquel vous avez l’intention de vous connecter à votre appareil IoT, ouvrez une fenêtre PowerShell et passez à votre dossier de données personnelles (par exemple, cd ~)

cd ~
ssh-keygen -t rsa -f id_rsa

Inscrivez la clé auprès de ssh-agent (facultatif, pour l’expérience d’authentification unique). Notez que ssh-add doit être effectué à partir d’un dossier qui est ACL’d à vous en tant qu’utilisateur connecté (Builtin\Administrators et l’utilisateur NT_AUTHORITY\System sont également ok). Par défaut, cd ~ à partir de PowerShell doit être suffisant, comme indiqué ci-dessous.

cd ~
net start ssh-agent
ssh-add id_rsa

Conseil

Si vous recevez un message indiquant que le service ssh-agent est désactivé, vous pouvez l’activer avec sc.exe configuration de ssh-agent start=auto

Pour activer l’authentification unique, ajoutez la clé publique au fichier Windows’appareil IoT Core authorized_keys. Ou si vous n’avez qu’une seule clé que vous copiez le fichier de clé publique dans le fichier de authorized_keys distant.

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

Si la clé n’est pas inscrite auprès de ssh-agent, elle doit être spécifiée sur la ligne de commande pour se connecter :

ssh -i .\id_rsa DefaultAccount@host

Si la clé privée est inscrite auprès de ssh-agent, vous devez uniquement spécifier DefaultAccount@host :

ssh DefaultAccount@host

La première fois que vous vous connectez, vous voyez un message comme suit :

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

Tapez oui et appuyez sur Entrée.

Vous devez maintenant être connecté en tant que DefaultAccount

Pour utiliser l’authentification unique avec le compte d’administrateur, ajoutez votre clé publique à c:\data\ProgramData\ssh\administrators_authorized_keys sur l’appareil 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

Vous devez également définir la liste de contrôle d’accès pour administrators_authorized_keys pour qu’elle corresponde à la liste de contrôle d’accès de ssh_host_dsa_key dans le même répertoire.

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

Pour définir la liste de contrôle d’accès à l’aide de PowerShell

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

Notes

Si vous voyez un message MODIFIÉ d’IDENTIFICATION DE L’HÔTE DISTANT après avoir apporté des modifications à l’appareil Windows 10 IoT Standard, modifiez C:\Users<username.ssh>\known_hosts et supprimez l’hôte qui a changé.

Voir également : Win32-OpenSSH

Utilisation de PuTTY

Télécharger un client SSH

Pour vous connecter à votre appareil à l’aide de SSH, vous devez d’abord télécharger un client SSH, tel que PuTTY.

Connexion à l’appareil

  • Pour vous connecter à votre appareil, vous devez d’abord obtenir l’adresse IP de l’appareil. Après avoir démarré votre appareil IoT Core Windows, une adresse IP s’affiche sur l’écran attaché à l’appareil :

    DefaultApp on Windows IoT Core

  • Lancez maintenant PuTTY et entrez l’adresse IP dans la Host Name zone de texte et vérifiez que la SSH case d’option est sélectionnée. Cliquez ensuite sur Open.

    PuTTY Configuration

  • Si vous vous connectez à votre appareil pour la première fois à partir de votre ordinateur, vous pouvez voir l’alerte de sécurité suivante. Cliquez simplement pour Yes continuer.

    PuTTY Security Alert

  • Si la connexion a réussi, vous devez voir login as: sur l’écran, en vous invitant à vous connecter.
    Entrez et appuyez Administrator sur Entrée. Entrez ensuite le mot de passe par défaut en tant que mot de passe p@ssw0rd et appuyez sur Entrée.

    PuTTY Login

    Si vous avez pu vous connecter correctement, vous devriez voir quelque chose comme ceci :

    PuTTY Console

Mettre à jour le mot de passe du compte

Il est vivement recommandé de mettre à jour le mot de passe par défaut du compte Administrateur.

Pour ce faire, entrez la commande suivante dans la console PuTTY, en remplaçant [new password] par un mot de passe fort :

    net user Administrator [new password]

Configurer votre appareil IoT Core Windows

  • Pour pouvoir déployer des applications à partir de Visual Studio 2017, vous devez vous assurer que le Débogueur distant Visual Studio s’exécute sur votre appareil IoT Core Windows. Le débogueur distant doit se lancer automatiquement au moment du démarrage automatique. Pour double-vérifier, utilisez la commande tlist pour répertorier tous les processus en cours d’exécution à partir de PowerShell. Il doit y avoir deux instances de msvsmon.exe s’exécutant sur l’appareil.

  • Il est possible que les Débogueur distant Visual Studio expirent après de longues périodes d’inactivité. Si Visual Studio ne peut pas se connecter à votre appareil IoT Core Windows, essayez de redémarrer l’appareil.

  • Si vous le souhaitez, vous pouvez également renommer votre appareil. Pour modifier le nom de l’ordinateur, utilisez l’utilitaire setcomputername :

        setcomputername <new-name>

Vous devez redémarrer l’appareil pour que la modification prenne effet. Vous pouvez utiliser la shutdown commande comme suit :

        shutdown /r /t 0

Utilitaires couramment utilisés

Consultez la page Utils de ligne de commande pour obtenir la liste des commandes et utilitaires que vous pouvez utiliser avec SSH.