J'ai essayé d'émettre des commandes à l'aide de plink pour récupérer des informations sur mon serveur externe. Notez que ces commandes plink sont exécutées à partir d'un binaire qui n'attend aucune entrée de l'utilisateur. Existe-t-il un indicateur qui me permettra de remplacer ce message d'erreur et de poursuivre la sortie du programme?
The server's Host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 **:**:**:**:**:**:**:**:**:**:**:**:**:**:**:**
If you trust this Host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this Host, press Return to abandon the
connection.
Store key in cache? (y/n)
Je vous remercie!
Essayez d'ajouter votre script avec:
echo y | plink -ssh root@REMOTE_IP_HERE "exit"
Cela dirigera le caractère y
par stdin
vers plink
lorsque vous obtiendrez la clé de stockage dans le cache? (y/n) Invite, permettant à toutes les autres commandes plink
de passer sans que l'utilisateur ait besoin de les saisir. La commande exit
fermera la session SSH après son établissement, permettant ainsi l'exécution des commandes plink
suivantes.
Voici un exemple de script qui écrit l'heure Unix du serveur externe dans un fichier local:
echo y | plink -ssh root@REMOTE_IP_HERE "exit"
plink -ssh root@REMOTE_IP_HERE "date -t" > remote_time.tmp
Référence de pipeline : http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO-4.html
La réponse acceptée est "acceptable", mais pas sûre. La meilleure façon serait de spécifier la clé Host à plink pour empêcher toute attaque Man-In-the-Middle .
plink -hostkey aa:bb:cc... root@REMOTE_IP_HERE [...]