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é.
Sélectionnez ensuite OpenSSH Client dans la liste, puis cliquez sur Installer.
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 :
Lancez maintenant PuTTY et entrez l’adresse IP dans la
Host Name
zone de texte et vérifiez que laSSH
case d’option est sélectionnée. Cliquez ensuite surOpen
.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.Si la connexion a réussi, vous devez voir
login as:
sur l’écran, en vous invitant à vous connecter.
Entrez et appuyezAdministrator
sur Entrée. Entrez ensuite le mot de passe par défaut en tant que mot de passep@ssw0rd
et appuyez sur Entrée.Si vous avez pu vous connecter correctement, vous devriez voir quelque chose comme ceci :
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.