These are the things I need to do:
PuTTY has the
-m switch, that you can use to provide a path to a file with a list of commands to execute:
putty.exe email@example.com -m c:\local\path\commands.txt
commands.txt will, in your case, contain a path to your shell script, like:
Though for automation, your better use the Plink command-line connection tool, instead of the GUI PuTTY application, as you have already found out. The Plink is a part of PuTTY package, so everyone who has PuTTY should have Plink too.
The Plink (
plink.exe) has the same command-line arguments as PuTTY. And in addition to those, you can specify your command directly on its command like:
plink.exe firstname.lastname@example.org /home/user/myscript.sh
or using its standard input
plink.exe email@example.com < c:\local\path\command.txt
(or course, you will use redirection mechanism of your language, instead of the
Note that providing a command using the
-m switch or directly on command-line implies a non-interactive mode, while using the standard input uses an interactive mode by default. So the results or behavior may differ. Use the
-T switches to force the interactive and the non-interactive mode, respectively.