sshputtyplink

Automating command/script execution using PuTTY


These are the things I need to do:

  1. Open putty.exe
  2. Enter username and password.
  3. Run a shell script.

I am using UFT (VB Scripting). I am able to open PuTTY but not able to enter username and password or run any commands using UFT.

Is there any other way I can achieve this? I have searched it and found that we can use Plink. Then the problem would be that the whole team will have to install Plink for that purpose. And that is not possible.

Thanks in advance.


Solution

  • 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 user@example.com -m c:\local\path\commands.txt
    

    Where the commands.txt will, in your case, contain a path to your shell script, like:

    /home/user/myscript.sh
    

    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 user@example.com /home/user/myscript.sh
    

    or using its standard input

    plink.exe user@example.com < c:\local\path\command.txt
    

    (of 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 and -T switches to force the interactive and the non-interactive mode, respectively.