7 de maig del 2014

SSH sense password (també a Gargoyle/Openwrt)

Si tot sovint us heu de connectar a servidors per SSH, segur que agraireu poder-ho fer sense haver d'entrar la clau de pas (password) cada vegada.

El procés és senzill. En la màquina des d'on us voleu connectar i amb el vostre compte d'usuari, obriu un terminal i feu:
$ ssh-keygen -t dsa
$ ssh-copy-id -i ~/.ssh/id_dsa nom_usuari@IP_Servidor

La primera comanda genera una clau que us identifica (només cal fer-ho si no la teniu generada d'abans). El millor és deixar la frase de pas buida, per poder connectar directament. El resultat és una clau que s'ens mostra en hexadecimal i també amb una curiosa imatge ASCII.

Tot seguit, amb la segona comanda copieu aquesta clau al servidor. Heu d'indicar la IP (o nom) i també el compte amb el qual voldreu accedir.

El procés el podeu veure en la imatge de sota. I si el que voleu és accedir a un ordinador, amb això ja en tindreu ben bé prou.


Ara bé, per poder accedir a un encaminador (router) amb Gargoyle o Openwrt, el procés encara no ha acabat. Si hi accediu per SSH podreu comprovar que us segueix demanant el password. Això és degut a que utilitza el dropbear, i li hem d'indicar on pot localitzar les claus.

Per això, en l'encaminador, feu:
# mv /root/.ssh/authorized_keys /etc/dropbear/
# ls -l /etc/dropbear/

La primera comanda copia la clau al lloc adequat pel dropbear, mentre que la segona permet verificar que els permisos del fitxer són els correctes, per un tema de seguretat.

Ara sí, si sortiu de l'encaminador i proveu de tornar a connectar-hi amb SSH, comprovareu que ja no us demana la clau de pas, tal com es pot comprovar en la imatge de sota.


Còmode, veritat?