2
3
Seemingly simple question, which yields slightly undesired results.
Execute putty to start a script on a remote linux server which requires user input
The remote script does a read -p "Please enter name" NAME
I can use plink
to execute a script over SSH, the following attempts and problems are shown below :-
Note the -load ns
is to load a session that doesnt exist, ie ensure no defaults are used
1) plink.exe -load ns <ip_addr> -l <user> -pw <password> <script path/name>
Problem) Doesn't allow/show user input, ie its non-interactive.
2) Add -t
to allocate a pty :-
plink.exe -t -load nc <ip_addr> -l <user> -pw <password> <script path/name>
Problem) Ok, so now the user input can be seen, but I get Ctrl+H (^H) when backspace is pressed, ok if the user doesnt make a mistake!
3) Use putty instead with a saved session
putty.exe -load "SavedSession"
Problem) (a) Get a new window opened, not a biggy, but not as nice. (b) saved session cannot be easily moved. (c) Get password prompt, cannot provide password like with plink, I know I know, use keys, but this is a closed, private network, and its easier not to bother with keys!
So ideally, I would like the SSH to execute in-line, that is from within the batch file/command line shell I am in, not prompt for username/password, run the linux script and allow prompts and delete/backspace to work.
Many thanks for any ideas/solutions in advance.
Thanks, but I dont understand how to use the
[ -t 0 ] && stty erase ^H
, is that on the windows side? ie something likeplink.exe [ -t 0 ] && stty erase ^H -load nc <ip_addr> -l <user> -pw <password> <script path/name>
obviously doesnt work. – IanVaughan – 2011-06-27T11:56:23.487Yes I know, use keys! I could use
-pw
but not in conjunction with loading a Saved Session, of which is the only way to launch a script/command with Putty. ie eitherputty.exe -load SessionName
(allows a script to be saved in the session settings, and ran) Orputty.exe -t -load nc <ip_addr> -l <username> -pw <password>
just dumps you in a shell, I have to write this for dummies to use, so no typing in the shell! – IanVaughan – 2011-06-27T12:00:12.0801re Comment#1, Ok, i was being stupid! Added it into the Linux shell script and it seems to work great! Will check back in a min when fully tested! Cheers!!! – IanVaughan – 2011-06-27T12:03:52.220
And re OpenSSH via Cygwin or MinGW, would be nice, but this is a portable upgrade script, of which I can ship putty/plink binaries with the scripts, which tho not imposable with Cygwin (no idea about MinGW) is slightly harder to create portable versions of (or so I believe, anyway im going off-topic..) – IanVaughan – 2011-06-27T12:11:35.183
2@IanVaughan: Well, AFAIK, you only need to ship
ssh.exe
,cygwin1.dll
(or the equivalent MinGW runtime DLLs) and maybelibssl.dll
. – user1686 – 2011-06-27T12:41:46.653