SSH: Evitar el uso de contraseña o autenticar con clave pública
Para que nuestras conexiones SSH no nos pidan contraseña podemos usar la autenticación por clave pública, para ello, usaremos una serie de comandos:
En el servidor de origen:
1 2 |
ssh-keygen -f ~/.ssh/id_rsa -q -P "" cat ~/.ssh/id_rsa.pub |
Obtendremos la clave pública de nuestro servidor de origen (el que necesitará autenticar con el servidor de destino), ej:
1 |
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDLVDBIpdpfePg/a6h8au1HTKPPrg8wuTrjdh0QFVPpTI4KHctf6/FGg1NOgM++hrDlbrDVStKn/b3Mu65//tuvY5SG9sR4vrINCSQF++a+YRTGU6Sn4ltKpyj3usHERvBndtFXoDxsYKRCtPfgm1BGTBpoSl2A7lrwnmVSg+u11FOa1xSZ393aaBFDSeX8GlJf1SojWYIAbE25Xe3z5L232vZ5acC2PJkvKctzvUttJCP91gbNe5FSwDolE44diYbNYqEtvq2Jt8x45YzgFSVKf6ffnPwnUDwhtvc2f317TKx9l2Eq4aWqXTOMiPFA5ZRM/CF0IJCqeXG6s+qVfRjB root@avisa2 |
Y lo copiaremos en nuestro servidor de destino (crearemos los directorios y archivo authorized_keys si no existe):
1 2 3 4 |
mkdir ~/.ssh chmod 0700 ~/.ssh touch ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys |
Y ya está, las conexiones SSH que hagamos desde nuestro servidor de origen hacia el servidor que tenga nuestra clave pública en la lista de authorized_keys no necesitarán especificar contraseña.