J'ai un petit problème avec l'exécution de mastic (à partir de la ligne de commande) avec l' argument -m . Aidez-moi, s'il vous plaît, ou suggérez un meilleur moyen si vous en connaissez un :)
La commande (de "Run"):
putty -ssh user@machine -pw password -m C:\test.txt
Commande "test.txt":
PROMPT_COMMAND='echo -ne "\033]0;'$( ifconfig | head -2 | tail -1 | awk '{print $2}')'\007"'
Le problème:
il ouvre la session puis se ferme immédiatement
Qu'est-ce que cela suppose de faire: Ouvrir une session ssh depuis la ligne de commande avec un titre défini
Merci.
Réponses:
Je crois que vous avez essayé de faire quelque chose de similaire à celui de cette réponse . Mais le problème est que les exemples de commandes fournis doivent être exécutés à partir du fichier sur le serveur.
Ils ne peuvent pas être passés en tant que commande (s) à exécuter à l'aide de l'option -m. Ce commutateur de PuTTY doit imiter le comportement du client SSH en ligne de commande Linux:
ssh user@foo command
De cette façon, ssh enregistre a
user
sur lefoo
serveur, s’exécutecommand
et s’arrête. On dirait qu'avec -m, PuTTY fait exactement la même chose.Ma suggestion
consiste à préparer un script sur le serveur distant et à configurer PuTTY d’une manière différente. Tout d’abord, vous devez créer un fichier avec les commandes que vous souhaitez exécuter après la connexion, appelons-le.
.title
Ensuite, tapez ou copiez et collez tout ce dont vous avez besoin, puis appuyez sur Ctrl + D. Pour le moment, testons le titre:
Vous pouvez même essayer ce qui précède directement dans le terminal. Si le titre de la fenêtre de PuTTY n'est pas modifié, il est probable que votre distribution ait déjà défini la variable PROMPT_COMMAND par défaut . Vous pouvez le confirmer en exécutant les commandes suivantes dans le terminal
La clé consiste à annuler la valeur actuelle de la
PROMPT_COMMAND
variable. Ensuite, la dernière commande doit définir le titre de la fenêtre surPuTTY test
.Ma solution
cela fonctionne pour moi est de préparer une session dans PuTTY, avec la boîte "Commande à distance" dans l'interface graphique définie sur:
N'oubliez pas de fournir le nom de cette session (par exemple: NomSession) et d'appuyer sur le bouton "Enregistrer" de la première page des paramètres de PuTTY, près de la liste "Sessions enregistrées" :)
Ensuite, vous pouvez démarrer PuTTY et lui dire de charger cette session
Oui, c'est triste, mais il n'y a pas d'équivalent en ligne de commande de la boîte de dialogue "Commande à distance" pour une session enregistrée. C'est pourquoi il faut surmonter tous ces obstacles :(
Version TL; DR
En supposant que vous exécutiez toutes ces étapes correctement, tout devrait bien fonctionner:
~/.title
script sur la machine distante~/.title
Pointe pro
Au lieu de spécifier les mots de passe en texte clair sur la ligne de commande (et éventuellement dans les scripts), vous devez apprendre à utiliser les clés SSH et à exécuter «Pageant» (agent d'authentification PuTTY) dans la barre d'état Windows.
la source
Je n'ai pas encore de ssh pour le tester, mais http://www.derkeiler.com/Newsgroups/comp.security.ssh/2012-04/msg00005.html "Si vous voulez simplement que la fenêtre reste ouverte pendant si vous aussi regardez, mettez sommeil 10 à la fin de votre script pour une attente de 10 secondes. Si vous voulez utiliser le shell, utilisez
exec /bin/bash
à la fin. Shai "deux autres liens qui offrent un aperçu.
PuTTY: Exécuter une commande à distance après la connexion et garder le shell en marche
Comment choisir ce qui apparaît dans la barre de titre de PuTTY sous Linux?
Ajouté par barlop
Ce qui suit n'utilise pas putty, il utilise openssh dans cygwin. Le
a.a
fichier peut contenir ls ou des commandes permettant de modifier l'invite. C'est local.liées, voir la réponse que je viens de poster à - https://unix.stackexchange.com/questions/87405/how-can-i-execute-local-script-on-remote-machine-and-include-arguments/208952#208952
la source