Utilisation de PuTTYs plink Command pour automatiser les actions SSH sur Windows

Summary

SSH est une méthode sûre et pratique pour automatiser les scripts sur les serveurs distants. Sur UNIX et Linux, la configuration de SSH est presque triviale ; en revanche, sur Windows, elle est plus difficile. La commande plink » de PuTTY peut être utilisée pour automatiser les actions SSH sous Windows. « plink » a quelques exigences d’initialisation spécifiques sur les machines Windows pour le rendre utilisable à partir de l’interface de script DPX. Cet article explique comment utiliser la commande Windows « plink », qui est incluse dans la suite d’utilitaires PuTTY. Il ne s’agit pas d’un examen complet de l’utilisation de « plink ». Il couvre spécifiquement la façon d’activer les clés d’hôte requises pour une utilisation avec le moteur de script DPX. « 

Etape par étape

PuTTY est un client SSH tiers librement disponible pour les plateformes Windows. Au moment de la rédaction de cet article, PuTTY est disponible à l’adresse suivante : www.chiark.greenend.org.uk/~sgtatham/putty/

Catalogic Software ne fournit pas de support technique pour les exécutables tiers. L’utilisation d’exécutables tiers se fait à vos propres risques.

« plink.exe » peut être utilisé dans un script batch Windows pour automatiser l’exécution de scripts distants via SSH. Cela est particulièrement utile pour automatiser les opérations NetApp et déclencher des scripts supplémentaires sur les hôtes UNIX et Linux. Une commande typique ressemble à ceci:

plink -ssh -l root -pw "password" host-name command

Un exemple plus spécifique est:

plink -ssh -l root -pw "password" 192.168.199.10 "reboot"

Sur les systèmes UNIX/Linux compatibles, cette commande provoque le redémarrage de la machine distante à l’adresse 192.168.199.10 à redémarrer immédiatement.

Lorsque vous exécutez pour la première fois plink depuis la ligne de commande Windows sur un nouvel hôte, un message similaire au suivant apparaît :

The server's host key is not cached in the registry. Youhave no guarantee that the server is the computer youthink it is.The server's rsa2 key fingerprint is:ssh-rsa 768 d1:1a:29:c0:6d:71:db:3b:36:7b:c1:01:b5:da:ca:d8If you trust this host, enter "y" to add the key toPuTTY's cache and carry on connecting.If you want to carry on connecting just once, withoutadding the key to the cache, enter "n".If you do not trust this host, press Return to abandon theconnection.Store key in cache? (y/n)

C’est une invite interactive que vous ne pouvez pas contourner. Si vous sélectionnez ‘y’, une clé d’hôte est mise en cache dans le registre Windows et, pour cet hôte, la question de l’empreinte de la clé n’est plus posée. Si vous sélectionnez ‘n’, la clé n’est pas mise en cache et cette question apparaît chaque fois que vous essayez de vous connecter à cet hôte.

« plink » met en cache ces clés d’hôte dans le profil de l’utilisateur au sein du registre HKEY_CURRENT_USER. Cette zone du registre est spécifique à la connexion actuelle ; elle persiste entre les sessions de connexion, mais ces valeurs ne sont pas partagées avec les autres utilisateurs du système.

C’est là que le problème existe. Le compte par défaut utilisé pour DPX est le ‘compte système local’. Vérifiez ce paramètre en vous rendant dans le gestionnaire de services de Windows. Dans le gestionnaire de services, trouvez le service cmagent, faites un clic droit et sélectionnez les propriétés, puis examinez l’onglet  » Log On « . Pour que DPX puisse utiliser plink efficacement, une clé d’hôte doit être mise en cache dans le registre HKEY_CURRENT_USER pour le compte de connexion au service cmagent indiqué. Le problème est que le « Compte système local » n’a pas de moyen direct de se connecter à la console et d’ensemencer facilement ces valeurs.

Deux possibilités existent :

  • Créer un compte administrateur qui a un accès complet à tout le matériel de la machine locale et aux interfaces d’application prises en charge
  • Utiliser le « Compte système local »

En général, la méthode la plus facile est de créer un compte administrateur qui a un accès complet à tout le matériel de la machine locale et aux interfaces d’application prises en charge. Un compte d’administrateur de machine locale ou un compte d’administrateur de domaine fonctionne généralement, bien que n’importe quel compte suffise s’il dispose des autorisations nécessaires pour que les opérations de sauvegarde et de restauration DPX fonctionnent correctement. Une fois le compte créé, effectuez les opérations suivantes :

  1. Allez dans le gestionnaire de services Windows et modifiez les services DPX (notamment cmagent) pour utiliser ce nouveau compte. Testez un travail de protection des données pour vous assurer que ce compte fonctionne pour DPX.
  2. Connectez-vous sous ce compte et faites apparaître un shell de commande. Pour chaque hôte auquel vous devez vous connecter, invoquez « plink -ssh user@host-name », et lorsque vous êtes invité à propos de l’empreinte de la clé, répondez ‘y’ pour mettre la valeur en cache. Aucune autre commande n’est nécessaire ; vous pouvez quitter tous les shells interactifs invoqués.

Les valeurs nécessaires sont mises en cache dans :
HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\SshHostKeys

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.