Si necesita copiar las claves ssh del cliente al servidor pero ssh-copy-id no es una opción, tendrá que seguir la ruta manual. Aquí está cómo hacerlo.
Secure Shell es una de esas herramientas que eventualmente utilizará durante su tiempo como administrador. Lo más probable es que lo use ahora y con regularidad. De hecho, es posible que ya haya configurado la autenticación de clave ssh entre el escritorio y el servidor. Con la ayuda del comando ssh-copy-id, esa tarea es increíblemente sencilla. Pero puede haber una razón por la que quieras copiar esa clave manualmente. Digamos, por ejemplo, que su administrador de seguridad requiere que PasswordAuthentication se configure en no en su servidor (por razones de seguridad. Esta opción desactiva toda la autenticación ssh, además de la autenticación de clave. Si está configurado (y no se le permite desactivar esa opción), el ssh-copy-id no puede llegar al servidor para copiar las claves necesarias. Si ese es el caso, tendrás que copiar las llaves manualmente. Déjame mostrarte el método más fácil.
Más información sobre ciberseguridad
Voy a asumir que ya tienes la clave ssh necesaria en tu cliente y (como ya he mencionado) y que tienes cuentas de usuario tanto en el cliente como en el servidor con el mismo nombre de usuario. Voy a demostrar esto en las plataformas Ubuntu Server 16.04 (servidor) y Elementary OS (cliente. Si sus plataformas difieren, es posible que tenga que modificar ligeramente las instrucciones.
Localización de su llave pública
Lo que vamos a hacer es copiar la clave pública ssh de la máquina cliente al servidor. Lo primero que debe hacer es copiar su clave ssh pública del equipo cliente. Para ello, inicie sesión en el equipo cliente como el usuario que iniciará sesión en el servidor. Una vez que haya iniciado sesión, emita el comando:
cat ~/.ssh/id_rsa.pub
El comando anterior dará salida a toda su clave pública que comienza con ssh-rsa y termina con USERNAME@HOST (donde USERNAME es el nombre de usuario y HOST es el nombre de host de la máquina. Debe copiar toda la cadena y transferirla a su servidor (por medio de una unidad USB, correo electrónico, o de la forma que sea.
Guardar su clave pública
Una vez que haya guardado su clave en el servidor, debe copiar la cadena de claves (recuerde, comenzando con ssh-rsa y terminando con USERNAME@HOST) al archivo /home/USERNAME/.ssh/authorized_keys (Donde USERNAME es el usuario en cuestión. Si ese archivo no existe, créalo con el comando nano ~/.ssh/authorized_keys. Con ese archivo abierto, copie la cadena ssh en él y luego guarde/cierre el archivo.
Iniciar sesión
En este punto, debería poder volver al equipo cliente y ejecutar el comando ssh -v USERNAME@HOST (donde USERNAME es el usuario y HOST es la dirección IP o dominio del servidor) y se le solicitará la contraseña de la clave ssh (no la contraseña del usuario. Eso es todo, ha copiado manualmente su clave ssh desde el servidor al cliente y ahora puede acceder a su servidor, a través de ssh, utilizando la autenticación de clave ssh.
Mucho más por aprender
Secure Shell es una herramienta increíblemente poderosa y flexible. Una de las primeras cosas que debe hacer es leer la página de ssh man (issue the command man ssh) para tener una idea sólida de los fundamentos de esta herramienta de uso obligatorio.
Boletín informativo de consejotecnologico.com
Refuerce las defensas de seguridad de TI de su organización manteniéndose al día de las últimas noticias, soluciones y mejores prácticas en materia de ciberseguridad. Entregado los martes y jueves