Para poder hacer login SSH y enviar archivos por SCP sin que te pida clave tienes que hacer lo siguiente:
Ejecutar el siguiente comando en tu home:
~$ ssh-keygen -t dsa
Esto generará una clave publica (id_dsa) y una privada(id_dsa.pub) en el directorio .ssh dentro de tu home. A continuación debes copiar la clave publica al host dónde quieras logear sin clave. En el host destino este archivo deberá llamarseauthorized_keys, el comando sería quedaría así:
~$ scp ~/.ssh/id_dsa.pub username@host:.ssh/authorized_keys
Una vez hecho esto ya podemos logear y enviar archivos en esa máquina sin tener que escribir la clave. Para hacer la operación inversa solo tienes que realizar los mismos pasos en la otra maquina.
Actualizado 26-03-2008
He descubierto que no hace falta complicarse tanto la vida, una vez creada la clave dsa o rsa puedes copiar directamente tu clave pública al servidor utilizando el comando:
ssh-copy-id usuario@host
Si has generado una clave rsa automáticamante copiara esta, si has creado otro tipo de clave puedes especificarla con el flag -i .
Al copiar la firma en el servidor de esta forma, estás sobreescribiendo el archivo authorized_keys borrando configuraciones anteriores. Si querés acceder sin clave desde varias pc al mismo servidor, deberías agregar las firmas sin borrar las existentes:
~$ scp ~/.ssh/id_dsa.pub username@host:.ssh/id_dsa_cliente.pub
Luego loguearte al servidor:
deberías agregar las firmas sin borrar las existentes:
~$ ssh username@host:.ssh
~$ cd .ssh
~$ cat id_dsa_cliente >> authorized_keys
también puedes hacer directamente ssh-copy-id usuario@host