Automating "enter" keypresses for bash script generating ssh keys
I would like to create script, which simply runs ssh-keygen -t rsa
. But how to pass to it 3 times enter?
Solution 1:
Try:
ssh-keygen -t rsa -N "" -f my.key
-N ""
tells it to use an empty passphrase (the same as two of the enters in an interactive script)
-f my.key
tells it to store the key into my.key
(change as you see fit).
The whole thing runs without you needing to supply any enter keys :)
To send enters to an interactive script:
echo -e "\n\n\n" | ssh-keygen -t rsa
Solution 2:
a version with passphrase is:
$ ssh-keygen -t rsa -b 4096 -C "comment" -P "examplePassphrase" -f "desired pathAndName" -q
- the -q is for silent
Source is http://linux.die.net/man/1/ssh-keygen
Solution 3:
Agree with Michel Marro except that it needs some more: If the file already exists, it will still be interactive asking if it has to overwrite it.
Use the answer of this question.
yes y | ssh-keygen -q -t rsa -N '' >/dev/null
The redirection to null is necessary to silence the overwrite message.
Solution 4:
echo -e "\n"|ssh-keygen -t rsa -N ""