Using expect to pass a password to ssh

Malfist picture Malfist · Jan 19, 2009 · Viewed 60.4k times · Source

How can I use expect to send a password to an ssh connection.

say the password was p@ssword and the ssh command was ssh [email protected]

What would I do with expect to a make it input the password when it says

[email protected]'s password:
?

The proper action of using an SSH key pair isn't an option because I would have to use ssh (scp) to put the key on the server, which would ask for a password.

Answer

max picture max · Jan 19, 2009

I always used the "proper" solution, but I used expect in other situations.

Here I found following suggestion:

#!/usr/local/bin/expect
spawn  sftp  -b cmdFile [email protected]
expect "password:"
send "shhh!\n";
interact