[Gambas-user] Interaction With Command Shell

Nigel Verity nigelverity at ...67...
Mon Mar 16 22:39:36 CET 2015



> Date: Mon, 16 Mar 2015 16:57:05 +0100
> From: Beno?t Minisini <gambas at ...1...>
> Subject: Re: [Gambas-user] Interaction With Command Shell
> To: mailing list for gambas users <gambas-user at lists.sourceforge.net>
> Message-ID: <5506FD51.80308 at ...1...>
> Content-Type: text/plain; charset=windows-1252; format=flowed
> 
> Le 16/03/2015 16:31, Tobias Boege a ?crit :
> > On Mon, 16 Mar 2015, Nigel Verity wrote:
> >> Hi
> >>
> >> I would welcome some advice about interacting with the Linux command shell from within a Gambas application.
> >>
> >> The requirement is to create a connection with a remote server using SSHFS. The general syntax for this command is:
> >>
> >> sshfs username at ...3453...:/foldername /local-mount-folder
> >>
> >> There is no option in the SSHFS command to include the user's password on the remote server. When running from a command prompt, once the sshfs command is accepted you are then prompted to enter the password.
> >>
> >> Is there any way, after executing the SSHFS command (using SHELL, presumably) to monitor for the password prompt and then send the password to the command shell?
> >>
> >> My aim is to create a dialog in which the user provides the server name, username and password and have Gambas do the rest to create the SSHFS connection.
> >>
> >
> > I have once tried that, specifically with sshfs, too, and failed miserably.
> > Your zeroth approximation should be to factor out Gambas and write a shell
> > script which can pass the password to sshfs. If you've got that, you almost
> > have the solution in Gambas.
> >
> > There is a program "expect" which was designed for specifically the purpose
> > of waiting on a program's output for a specific pattern and then sending a
> > given string to its input (i.e. to automate interactive programs). But it
> > seems sshfs is putting extra effort into preventing this automation.
> >
> > I ended up creating a private/public key pair and have the server work with
> > that so that I can login using these keys[0]. Maybe this is an option for
> > you, too?
> >
> > If you can trick sshfs into being automated via expect or some other means,
> > please let me know :-)
> >
> > Regards,
> > Tobi
> >
> > [0] https://help.ubuntu.com/community/SSH/OpenSSH/Keys
> >
> 
> I'm automating scp and ssh daily with Gambas, by detecting when the 
> password prompt appears (and the ssh key confirmation question too).
> 
> It cannot be 100% reliable, because any other program can print 
> "password:" on its standard output, and apparently there is no way to 
> know that a program is waiting for input.
> 
> But in practise it works.
> 
> If there is no clean way to do that, maybe I should make a component 
> with that, even it's some quick & dirty hack?
> 
> -- 
> Beno?t Minisini

Hi Benoit

I suspect there could be good security reasons why the author(s) of SSHFS keep the password entry separate from the main command string. However, this type of issue cannot be unique to SSHFS, so a Gambas component which can simulate the user interacting with a terminal could have a lot of uses. Handling unexpected error messages, which might appear in a terminal window when you are expecting a prompt of some kind, could make it complicated, though.

Nige
 		 	   		  


More information about the User mailing list