so che la domanda è vecchia ma questo può aiutare
puoi eseguire plink (utensili per mastice)
plink -v -ssh -m "path/to/commands.txt" -l usertologin -pw PASSWORDSERVER
commands.txt:
echo -e "PASSWORD\n" | sudo -S cat /etc/passwd
sudo -S è ricevere la password da stdin e con echo -e "password\n" è passare la password (e \n è come premere intro -new line- )
allo stesso modo puoi eseguire il comando passwd:
> echo -e "OLDPASSWORD\nNEWPASSWORD\nNEWPASSWORD" | passwd
Perché stai usando un plink qui? In generale, useresti un plink per chiamare uno script non interattivo su un host remoto. Se vuoi fare cose interattive, (come modificare un file), invia semplicemente ssh al server (dalla tua shell, usando il client 'ssh' su Linux o eseguendo putty su Windows), quindi modifica il file.
Maggiori informazioni su plink e alcuni esempi sono disponibili qui.
Perché Plink? usa invece SSH. Anche SSH avrebbe bisogno di -t
opzione per sudo
commands.Dalla pagina man di ssh:
-t Force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote
machine, which can be very useful, e.g. when implementing menu services. Multiple -t options force tty
allocation, even if ssh has no local tty.