Ce que j'essaie de faire: démarrer une session PuTTY à partir de la ligne de commande, vous connecter à la machine distante et cd
au répertoire fourni.
PuTTY.exe -agent -ssh some.Host
Cela ouvrira une session et un login avec mon identifiant par défaut et ma clé privée.
echo cd /some/remote/path/ > c:/stuff/cmd.txt
PuTTY.exe -agent -ssh some.Host -m 'c:/stuff/cmd.txt'
Cela va ouvrir une session, vous connecter, exécuter une commande (cd
dans ce cas) et quitter .
Comment ouvrir une session, se connecter, cd
et garder la session ouverte?
Contexte: J'utilise emacs sous Windows et, souvent, j'édite des fichiers sur des machines Unix distantes à l'aide de tramp & plink. Je veux créer un raccourci clavier qui ouvre une session PuTTY pour cette machine distante et des chdirs dans le répertoire de ce fichier. Pas un gros problème du côté d’emacs, mais je suis coincé avec PuTTY.
Ce que le -m
fait, c’est que PuTTY ordonne au serveur SSH de lancer cette commande au lieu d’un shell. Donc, une fois votre commande terminée, la session aussi.
Si vous souhaitez exécuter le shell après la commande cd
, vous devez l’ajouter explicitement à votre cmd.txt
, par exemple:
cd /my/path ; /bin/bash
De plus, le -m
implique le mode "nopty" / non interactif. Pour utiliser un shell interactif, vous devez remplacer celui-ci à l'aide du commutateur -t
.
PuTTY.exe -ssh example.com -m "c:\path\cmd.txt" -t
Vous pouvez également utiliser KiTTY avec son commutateur -cmd
, qui fait ce que vous voulez (et n’a pas besoin d’un fichier temporaire).