Hace un tiempo escribi un post explicando los pasos para acceder a un servidor sin contraseña en Linux, hoy me ha tocado configurarlo en Mac y aunque los pasos son básicamente los mismos hay algo que cambia, en Mac no tenemos el comando ssh-copy-id, por lo que hacer la tarea de copia de la llave en un gran número de servidores puede convertirse en un problema que nos tome mucho tiempo.
Buscando en internet por una herrmienta similar di con con MacWorld, donde publicaron el siguiente script en bash muy sencillo, claro que hay muchisimas formas de hacerlo yo lo he editado un poco para que sea de mayor utilidad a la hora de agregar un gran número de equipos espero que sea de su agrado.
#!/bin/sh
KEY="$HOME/.ssh/id_rsa.pub"
USERNAME=username
# First verify that id_rsa exists, you can change depending on the type of the Key
if [ ! -f ~/.ssh/id_rsa.pub ];then
echo "private key not found at $KEY"
echo "* please create it with "ssh-keygen -t rsa" *"
echo "* to login to the remote host without a password, don't give the key you create with
ssh-keygen a password! *"
exit
fi
KEYCODE=`cat $KEY`
# Another alternative could be
# `cat devices` instead of the ip's so you
# could add all Ips on a file called devices
for i in 192.168.5.2 192.168.5.3
do
echo "Putting your key on $i... "
ssh -q $USERNAME@$i "mkdir ~/.ssh 2>/dev/null; chmod 700 ~/.ssh;
echo "$KEYCODE" >> ~/.ssh/authorized_keys;
chmod 644 ~/.ssh/authorized_keys"
echo "Success copying Key to $i for user $USERNAME"
done
echo "done!"Si tengo un poco mas de tiempo en la noche lo termino de editar y lo subo para compartirlo con ustedes.