On Sep 11, 2007, at 9:44 AM, Paul Lynch wrote: > I've been having some trouble using IO.popen to control an ssh process > (and also mysqldump) on Linux. My understanding is that if I do: > p = IO.popen('ssh mymachine') > then the input and output of the ssh subprocess should be > accessible via > p. However, when I try that in an irb shell, the ssh process > immediately takes over the standard input and output of irb, and I get > an "Enter password:" prompt. I have to hit control-c to get back > to the > irb prompt. > > Is there a workaround for this? Or should I be doing this a different > way? Thanks, ssh requires a pty to read the password. note that this is NOT the same as STDIN, which is what you get with IO.popen. you need to use the built-in pty lib to control ssh that way and it's still fraught with peril. it's much, much, much, much better to setup ssh keys for password-less access (no passwords in scripts), and to spawn a simple command, such as /bin/sh, on the remote end to read pre-generated commands (a script). regards. a @ http://drawohara.com/ -- we can deny everything, except that we have the possibility of being better. simply reflect on that. h.h. the 14th dalai lama