Laboratorio seguridad SSH y llaves
8. compartiendo la llave
Una vez generada las llaves. Como vimos la llave publica debe ser conocida en el servidor y debemos compartirla por un medio seguro.
La llave puede ser instalada manualmente en el archivo de configuraciones de openssh en el servidor
Archivo linux: /home/usuario/.ssh/authorized_keys
Archivo Windows: /usuarios/nombreusuario/.ssh/authorized_keys
este archivo contendra una llave autorizada por linea, si no existe, debemos crearlo teniendo en cuenta los permisos de usuario chmod 600 /.ssh/Authorizedkeys
En linux:
El método que utilizaremos es mediante el comando ssh-copy-id, luego de correr el comando, se nos pedirá la contraseña de acceso al servidor. Este comando copia nuestra llave en el servidor. por lo que usuario@host corresponde al servidor remoto
ssh-copy-id -i llave_publica.pub usuario@host
En Windows:
En el caso que utilicemos windows, no tendremos la función copy-id, para ello debemos copiar la llave manualmentemediante el siguiente comando copiaremos la llave al servidor, debemos tener presente el directorio de destino si es un servidor linux o windows.
type $env:USERPROFILE\.ssh\id_rsa.pub | ssh {IP-ADDRESS-SERVER} "cat >> .ssh/authorized_keys"
Si tenemos acceso fisico al servidor Podemos comprobar el directorio si se ha copiado la llave, y luego generar y copiar el contenido de la llave al archivo de autorizacion

Luego podemos probar realizar la conexion con el servidor mediante ssh.
Alternativa SCP
Podemos realizar la copia también mediante el comando: scp tanto en Windows como en Linux y luego mover la llave al directorio nombrado mas arriba, si pudo realizar con el comando previo, la opción de scp seria una buena alternativa para el punto 4 en servidores remotos.
Copia desde servidor Remoto a local:
scp user@server:/path/to/remote/file /path/to/local/file
Copia de Local a servidor Remoto:
scp /path/to/local/file user@server:/path/to/remote/file
Mediante -P podemos especificar el puerto , si es que no utilizamos el puerto por defecto 22