Primeiro, considere o uso de chaves rsa em vez de dsa, embora eu saiba que este é um conselho não solicitado, o rsa é mais seguro que o dsa, a menos que você tenha uma razão convincente para fazê-lo.
Deixe-me começar dizendo que farei isso usando o comando standart unix como scp, cat, chmod, chown e tal, em vez de usar comandos mais esotéricos, como o ssh-copy-id. Para que você possa usá-lo em praticamente qualquer sabor Unix, não apenas Linux.
Depois de executar o comando ssh-keygen
, você tem dois arquivos no diretório .ssh:
id_dsa
id_dsa.pub
# on the local machine which will connect the remote server without a password
cd ${HOME}/.ssh
scp id_dsa.pub ${REMOTE_SERVER}:${REMOTE_USER_HOME}/.ssh
# if this errors out, you might need to create the .ssh on the remote server
#
# on the remote machine which will accept incoming ssh connection without a password
chown ${REMOTE_USER} ${REMOTE_USER_HOME} # this should already be set like this
chown ${REMOTE_USER} ${REMOTE_USER_HOME}/.ssh # if this exists, it should be this way
chmod 700 ${REMOTE_USER_HOME}
chmod 700 ${REMOTE_USER_HOME}/.ssh
cd ${REMOTE_USER_HOME}/.ssh
cat id_dsa.pub >> ./authorized_keys
chown ${REMOTE_USER} ./authorized_keys
chmod 600 ./authorized_keys
Agora, você deve conseguir se conectar à máquina remota sem uma senha.
espero que isso ajude.