SCP (secure copy) es un comando de Linux que nos permite copiar directorios o archivos entre diferentes hosts que utiliza la autenticación SSH y por lo tanto provee el mismo nivel de seguridad.
SSH es un protocolo, un medio de comunicación entre dos ordenadores. Nos permite administrar un equipo de forma remota. Cuando accedamos por SSH a otro equipo, el comando que introduzcamos en esa terminal se ejecutará en el otro equipo, de esta forma lo administramos/controlamos.
Todo lo que se transmita por SSH, va encriptado y con una seguridad considerablemente buena.
Supongamos que administras varios servidores Linux y no quieres estar colocando contraseñas cada vez o que quieres utilizar SCP para copiar varios archivos, la solución es compartir llaves encriptadas.
Este ejemplo la ip del equipo que queremos acceder sin contraseña es 192.168.1.1
Generar llaves
Nota importante: No debes colocar ninguna contraseña, simplemente presionas ENTER a todo
ssh-keygen -t rsa -b 1024
Copiamos la llave publica al destino (Ordenador que quiere acceder sin contraseña)
cd /root/.ssh
scp id_rsa.pub root@192.168.1.1:/root/.ssh/MI_LLAVE
root@192.168.1.1’s password:
Si esto llegara a fallar es porque no tiene la carpeta creada, entonces se deberán conectarse primeramente por ssh, luego crear la carpeta, luego salirse y volver a intentar.
ssh –l root 192.168.1.1 mkdir /root/.ssh
root@192.168.1.1’s password:
Entonces repetimos el paso anterior.
Una vez copiado debemos adicionar la llave a la lista de llaves autorizadas.
ssh –l root 192.168.1.11
cd /root/.ssh
cat MI_LLAVE >> authorized_keys
Listo, ahora ya puedes conectarte por ssh o pasar archivos mediante scp y no te pedira contraseña. Prueba, disfruta y comenta.
ssh –l root 192.168.1.11