web-dev-qa-db-fra.com

Enregistrer la sortie PuTTY dans un fichier à partir de la ligne de commande

Existe-t-il un moyen d'enregistrer la sortie PuTTY dans un fichier à l'aide de la ligne de commande? Je sais que cela se fait facilement en utilisant l'interface graphique mais dans mon cas, cela doit être fait automatiquement.

Sur quoi je travaille:

L'utilisateur clique sur le fichier batch -> démarre PuTTY, se connecte automatiquement à mon appareil via SSH et exécute un tas de commandes -> PuTTY devrait enregistrer la sortie dans un fichier.

La dernière partie, je ne peux pas travailler. Existe-t-il une commande pour ce faire?

10
sjaak

Cela peut être fait avec PuTTY. La réponse est un peu tardive compte tenu de l'heure à laquelle les questions ont été posées, mais cela pourrait aider quelqu'un.

Dans PuTTY, à l'aide de l'interface graphique, vous pouvez enregistrer des sessions avec l'option de connexion activée, comme illustré ci-dessous.

enter image description here

enter image description here

Entrez le nom d'hôte, nommez la session, accédez à l'option de journalisation dans le coin supérieur gauche, sélectionnez toutes les sessions, fournissez le nom et l'emplacement du fichier journal, revenez à l'onglet Session, cliquez sur le bouton Enregistrer. Terminé, vous avez enregistré une session.

Maintenant, ouvrez CMD et écrivez la commande comme ci-dessous enter image description here

Vous avez terminé. Chaque fois que cette session est invoquée, les commandes et la sortie seront enregistrées. J'espère que cela t'aides.

23
azim

Le programme spécifique PuTTY n'est pas conçu pour cela. Utilisez plutôt plink, un programme différent de la suite PuTTY, qui utilise les mêmes paramètres de session et les mêmes clés que PuTTY mais obtient les entrées de stdin et place les sorties sur stdout, qui peuvent toutes deux être redirigées dans les moyens habituels. Voir http://the.earth.li/~sgtatham/PuTTY/0.63/htmldoc/Chapter7.html#plink .

2
dave_thompson_085

Développer les réponses de Dave et Charlie ...

En plus de vous assurer que le lien est dans le chemin, vérifiez également si vous avez un accès en écriture au fichier de sortie local.

C'est ainsi que vous redirigez la sortie de commande d'une machine distante vers un fichier local avec plink. Dans cet exemple, nous stockons une sortie de la page de manuel pour nfcapd:

plink [email protected] -pw joespassword man nfcapd > output.log 2>&1

La première fois que vous essayez d'accéder au serveur, il vous demandera de stocker la clé dans le cache. Assurez-vous donc d'accéder à la machine au moins une fois avant:

plink [email protected] -pw joespassword

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.
...
Store key in cache? (y/n)
1
rluks

Comme mentionné dans la réponse précédente, utilisez plink pour cela.

Assurez-vous qu'il se trouve dans le chemin de votre environnement, en tapant

plink -V

dans votre console. S'il renvoie un numéro de version, vous savez qu'il se trouve dans les variables de chemin d'environnement. Si ce n'est pas le cas, il est probablement préférable de résoudre ce problème en premier. Il existe de nombreuses bonnes réponses SO pour vous aider. À défaut, utilisez le chemin complet de votre plink.exe dans la commande CLI qui suit.

Utilisez ensuite plink pour ouvrir votre connexion ssh, avec l'option -v définie pour fournir une sortie détaillée. Enfin, tout cela doit être dirigé vers un fichier journal.

La commande cli complète que j'utilise est

plink -v [email protected]  > ssh-output.log 2>&1

Ouvrez le fichier ssh-ouput.log pour voir les résultats.

1
charliefortune