Dersom du stadig gjør ssh frem og tilbake mellom systemer, ønsker du sikkert å sette opp “user equivalence”. Med utgangspunkt i et tips fra Rails boka til Ezra Zygmuntowicz har jeg laget en funksjon som legges i .bash_profile filen din:
function authme {
if [ -z "$1" ]; then
echo "USE: authme hostname [user]"
return 1
fi
_HOST=${1}
if [ -z "$2" ]; then
_USR=${USER}
else
_USR=$2
fi
cat ~/.ssh/id_dsa.pub | ssh ${_USR}@${_HOST} '
# create if not exists
if [ ! -d ~/.ssh ]; then
mkdir ~/.ssh
fi
# set perm
chmod 0700 ~/.ssh
# now cat input
cat >> ~/.ssh/authorized_keys
# set perm
chmod 0600 ~/.ssh/authorized_keys
'
}
Dersom du kaller func med bare hostname blir din ssh id kopiert inn i din brukers område på angitt host. Hele poenget her er å gjøre all jobben i et pass, slik at du ikke må angi passord mer enn en gang. Derfor er alle kommandoer på “remote host” pakket inn i enkeltfnutter. Du kan også angi en annen bruker dersom du ønsker det. Feks har jeg satt dette opp for en del Oracle brukere/systemer som jeg jobber mot hver eneste dag.