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: