Easy Remote Colonization
Now that I’m managing a few linux servers (personal, not work related), I’ve found it handy to have automatic login via ssh-keys. At first it wasn’t so bad copying keys up to the server, but when you have 5 or so, it becomes a bit tedious (especially when I can never remember things). I’ve found a script to automate the process from StackOverflow:
#!/bin/bash if [ -z "$1" ]; then echo "colonize.sh by Brian Enigma <firstname.lastname@example.org>" echo "Function: copies ssh public keys to remote machines for passwordless login" echo "Usage: colonize.sh <username>@<servername or ip address>" exit 1 fi KEY=id_rsa.pub STORE=authorized_keys CONTENT=`cat ~/.ssh/$KEY` echo "Attaching key to authorized_keys file" ssh $1 "mkdir -p .ssh && chmod 700 .ssh && touch .ssh/$STORE \ && chmod 644 .ssh/$STORE \ && echo '$CONTENT' >> .ssh/$STORE \ && rm -f $KEY" echo "Complete! You should be able to log in without a password now!"
Note that before this works, you must have generated your keys on your local box first:
ssh-keygen -t rsa