SSH sense password

Última modificació: novembre de 2017

Verificar que tenim aquesta línia a /etc/ssh/sshd_config

PubkeyAuthentication yes

Generem en la màquina client les claus de l'usuari.

ssh-keygen -t rsa -b 4096

Si el sistema no és molt antic, millor generem una clau més segura fent:

ssh-keygen -t ed25519 -a 100

Quan pregunti, fiquem un password per protegir aquestes claus. També tenim l'opció de no ficar cap password.

Això ens generarà una clau privada a ~/.ssh/id_rsa i una pública a ~/.ssh/id_rsa.pub

Copiem la clau generada al servidor al que tenim que connectar:

ssh-copy-id usuari_servidor@servidor

Al servidor, aquesta clau quedarà copiada al fitxer ~/.ssh/authorized_keys

També ho podem fer manualment al servidor remot si li hem fet arribar d'alguna manera la clau pública:

cat id_rsa.pub >> ~/.ssh/authorized_keys

I ja està. Ara, per a entrar al servidor remot:

    • Si no hem ficat password per a protegir les claus: fent ssh servidor_remot, entrarem al servidor sense que ens pregunti res.
    • Si hem ficat password per a protegir les claus, tindríem que ficar cada vegada aquesta clau i això no seria massa còmode. El que farem, un cop per sessió, es ssh-add. En aquest moment ens preguntarà la clau de protecció de les claus; un cop li proporcionem podrem entrar sense password al servidor remot les vegades que vulguem, mentre duri la sessió.