[bash] How to enter ssh password using bash?

Everyday I am connecting to a server through ssh. I go through this routine:

IC001:Desktop user$ ssh [email protected]
[email protected]'s password: 

Last login: Tue Jun  4 10:09:01 2013 from 0.0.0.0
$

I would like to automate this process and create a bash script to do it for me. I don't care about security and okay to store my password openly in the script. I am also okay for it to get typed openly on the screen while the script gets executed. So I've created this:

#!/bin/bash          
ssh [email protected]
echo mypassword

But it doesn't work. I've also tried send instead of echo, but it also didn't work. Please advise if it is possible to do.

This question is related to bash ssh

The answer is


Double check if you are not able to use keys.

Otherwise use expect:

#!/usr/bin/expect -f
spawn ssh [email protected]
expect "assword:"
send "mypassword\r"
interact

Create a new keypair: (go with the defaults)

ssh-keygen

Copy the public key to the server: (password for the last time)

ssh-copy-id [email protected]

From now on the server should recognize your key and not ask you for the password anymore:

ssh [email protected]