How to enter ssh password using bash? [duplicate]
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.
Solution 1:
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
Solution 2:
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]