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 le foo
serveur, s’exécute command
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
cat > ~/.title
Ensuite, tapez ou copiez et collez tout ce dont vous avez besoin, puis appuyez sur Ctrl + D. Pour le moment, testons le titre:
echo -ne "\033]0;PuTTY\007"
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
echo $PROMPT_COMMAND
unset PROMPT_COMMAND
echo -ne "\033]0;PuTTY test\007"
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 sur PuTTY 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:
/bin/bash --rcfile ~/.title
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
putty -load SessionName -l user -pw password
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:
- créer un
~/.title
script sur la machine distante
- préparer une session avec la commande à distance qui exécute Bash qui s'exécutera
~/.title
- dire à PuTTY de charger la session préparée au démarrage, en spécifiant l'utilisateur et le mot de passe
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.