En linux con openssh:

Lo primero es generar los certificados:

ssh-keygen -t dsa -b 1024

Se guardan en ~/.ssh

Para copiar el certificado publico en el sitio remoto:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@XXX.XXX.XXX.XXX

ATENCION!!!, ssh-copy-id es un script y lo que hace es añadir la clave publica en el archivo ~/.ssh/authorized_keys del sistema remoto. Si lo que queremos es poder ir revocando certificados hay que modificar /usr/bin/ssh-copy-id. Para eso buscamos esta linea:

mkdir -p .ssh && cat » .ssh/authorized_keys || exit 1 ; y la modificamos asi: mkdir -p .ssh && cat > .ssh/authorized_keys || exit 1 ;

En windows con putty: