Page 1 sur 1

[...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

Posté : mer. 17 févr. 2016 23:23
par hexomon
Bonjour,

Je cherche à faire un script qui automatise des connexions sur un grand nombre de serveurs linux/unix pour y exécuter quelques commandes assez basiques. Pour cela j'utilise plink et la commande Run d'autoit, le mot de passe doit être entré par l'utilisateur dans une GUI.

Je rencontre deux problèmes :
1 - En passant la commande de test ci-dessous, je me rends compte que la variable Password passe en clair dans le gestionnaire de taches. Le mot de passe est donc logiquement sécurisé par le ssh sur le réseau, mais ça ne me plaît pas du tout de l'avoir en clair dans la liste des process. Voici la commande :
$Result=Run("plink -ssh Moi@adressip" & " -pw " & $Password)

2- Quand je veux récupérer le résultat de $Result en y ajoutant une commande basique comme un ls, je n'obtiens pas le résultat d'un ls dans la msgbox mais un chiffre... J'aurai aimé récupérer le resultat du ls, mais il doit manquer quelque chose. Exemple de commande :
$Result=Run("plink -ssh Moi@adressip" & " -pw " & $Password & " " & "ls")
=> $Result me rend un chiffre, pas la liste du ls...

Je suis débutant, ça me paraît important de le préciser à ce stade :mrgreen: .

Merci d'avance à ceux qui pourront me donner un coup de main :wink: , et bonne soirée à tous !

Re: [...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

Posté : jeu. 18 févr. 2016 14:31
par jguinch
Pour le mot de passe, c'est franchement pas gagné... Je sais même pas si c'est possible. La seule solution propre est certainement d'utiliser une clé publique. Voir ici : http://the.earth.li/~sgtatham/putty/0.5 ... sage-batch / http://the.earth.li/~sgtatham/putty/0.6 ... tml#pubkey

Pour le 2ème point, la commande Run te retourne l'ID du process. Pour extraire le flux de sortie, il faut utiliser Stdoutread (voir le fichier d'aide).

Code : Tout sélectionner

#Include <AutoItConstants.au3>

$PlinkDir = @ScriptDir

$iPID = Run(@ComSpec & " /c " & $PlinkDir & "\plink.exe serveur -l login -pw P@$$w0rd! ls -l", "", @SW_HIDE,$STDIN_CHILD)
ProcessWaitClose($iPid)
$sOutput = StdoutRead($iPID)

MsgBox(0, "Output", $sOutput)

Re: [...] Plink dans AutoIt => envoyer un password qui n'apparaisse pas en clair dans le taskmanager

Posté : jeu. 18 févr. 2016 20:34
par hexomon
Merci beaucoup à toi !
Je vais étudier de près toutes ces infos et voir ce que je peux faire. Si quelqu'un d'autre veut s'exprimer, qu'il n'hésite pas (surtout par rapport au point 1).

A + :) !