Cómo usar el comando ssh-copy-id

Cómo usar el comando ssh-copy-id

El comando SSH-Copy-ID es una herramienta simple que le permite instalar una tecla SSH en las claves autorizadas de un servidor remoto. Este comando facilita el inicio de sesión de la tecla SSH, que elimina la necesidad de una contraseña para cada inicio de sesión, asegurando así un proceso de inicio de sesión automático sin contraseña y sin contraseña. El comando SSH-Copy-ID es parte de OpenSSH, una herramienta para realizar administraciones de sistemas remotos utilizando conexiones SSH cifradas.

Este artículo le muestra cómo usar la herramienta SSH-COPY-ID.

Cómo instalar el comando SSH-Copy-ID

La herramienta SSH-Copy-ID, parte del paquete OpenSSH, está disponible en todos los principales repositorios de distribución de Linux, y puede usar su administrador de paquetes para instalar este comando.

Para instalar la herramienta SSH-Copy-ID en Debian, use el siguiente comando:

sudo apt-get actualización && sudo apt-get install OpenSSH-Client

Una vez que haya instalado OpenSSH, puede usar la herramienta SSH-Copy-ID en la línea de comandos.

$ ssh-copy-id
Uso:/usr/bin/ssh-copy-id [-h |-?| -f | -n] [-i [identity_file]] [-p puerto] [[-o ]…] [User@] hostname -f: Modo de fuerza -Copiar claves sin intentar verificar si ya están instalados -n: secado Ejecutar -No se copian las claves -h |-?: imprima esta ayuda

El uso de SSH-Copy-ID es simple porque el script hace que el proceso de autenticación de la clave pública sea más fácil y más eficiente. Antes de sumergirnos en cómo usar la herramienta, primero discutiremos cómo funciona la autenticación de clave pública de SSH.

NOTA: Si ya sabe cómo funciona la autenticación de la clave pública SSH, no dude en omitir esta parte y sumergirse más en cómo usar el comando ssh-copy-id inmediatamente.

Autenticación de clave pública de SSH

La autenticación de la tecla SSH pública es un método de autenticación SSH que permite a los usuarios usar claves generadas criptográficamente para iniciar sesión en servidores remotos.

Las teclas SSH son más seguras que las contraseñas en bruto y proporcionan una forma mucho más eficiente de iniciar sesión en SSH. Las teclas SSH están automatizadas y una vez autorizadas, no requieren una contraseña en cada inicio de sesión.

Para usar una tecla SSH, comenzaremos generando una clave.

Cómo generar una llave SSH

Para generar una tecla SSH, use la herramienta SSH-Keygen que viene como parte de OpenSsh. Esta herramienta genera archivos de clave públicos y privados almacenados en ~/.Directorio SSH, como se muestra a continuación.

$ ssh-keygen
Generación de pares de claves RSA públicas/privadas.
Ingrese el archivo en el que guardar la clave (/root/.ssh/id_rsa):
Directorio creado '/root/.ssh '.
Ingrese la frase de pases (vacío sin frase de pases):
Ingrese a la misma frase de pases nuevamente:
Su identificación se ha guardado en /root /.ssh/id_rsa.
Su clave pública se ha guardado en /root /.ssh/id_rsa.pub.
La huella digital clave es:
SHA256: DDVOQHS6CGT8VNERTZ9AISNVOUKMSPPRZ+GI24DPTSA root@user La imagen Randomart de la tecla es:
+---[RSA 2048]----+
| O = O |
| O. o |
| + .+.|
| . + + O .o |
| S +... |
|. O ... O O + .|
|.E O +. +. + + |
|. = O.O+ .O.+… |
|.o ... oo =+ o = o.+|
+----[SHA256]-----+

Cómo copiar la tecla SSH usando SSH-Copy-ID

Una vez que hemos generado una tecla SSH, podemos agregar manualmente la tecla SSH al archivo Remote Machine Authorised_Keys o usar el comando SSH-Copy-ID.

Usaremos el comando ssh-copy-id para facilitar este proceso. Simplemente llame al comando SSH-Copy-ID y pase el camino a la clave pública, de la siguiente manera:

$ ssh-copy-id -i ~/.ssh/id_rsa.Usuario de [email protected] -P 6576

Después de ingresar el comando anterior, debe obtener la siguiente salida:

/usr/bin/ssh-coopy-id: info: fuente de la (s) de clave para ser instaladas: "/root/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: información: intentar iniciar sesión con las nuevas teclas (s), para filtrar cualquiera que ya esté instalada
/usr/bin/ssh-copy-id: información: 1 clave (s) queda por instalarse; si se le solicita ahora, es instalar el usuario de las teclas [email protected]ña de 101:
Número de teclas agregadas: 1 Ahora intente iniciar sesión en la máquina, con: "SSH -P '6576" [email protected] '"y verifique para asegurarse de que solo se agregaran las llave (s) que deseaba.

NOTA: Nunca copie su clave privada a otra máquina.

Una vez que el comando se haya ejecutado correctamente, intente iniciar sesión en el servidor utilizando la clave que cargó, de la siguiente manera:

$ ssh -p 6576 [email protected]

El comando anterior requerirá que ingrese la frase de pases para su clave pública, como se muestra en la salida a continuación:

Ingrese la frase de pass para la clave '/root/.ssh/id_rsa ':
Último inicio de sesión: viernes marzo de marzo 14:06:16 2021 de 173.208.98.186

El comando anterior debe permitirle iniciar sesión en el host remoto sin pedir la contraseña del usuario. El sistema puede pedirle que ingrese la frase de pases de la clave que configuró anteriormente.

Opciones de comando SSH-Copy-ID

Puede modificar cómo funciona el comando SSH-Copy-ID utilizando los argumentos proporcionados. Para ver la página de ayuda, use el comando ssh-copy-id -h o use el comando ssh-copy-id sin argumentos.

  1. -argumento: Este argumento especifica el archivo de identidad que se utilizará, yo.mi., copiado al host remoto especificado. Si no especifica el argumento -i, todos los archivos en ~/.Directorio SSH con el patrón de coincidencia *.Se agregará el pub.
  2. -F: Este indicador habilita el modo forzado, que no verifica si la clave está preconfigurada en Authorized_Keys en el servidor. El indicador -f agrega una clave, que a menudo resulta en múltiples copias de la misma clave instalada en el servidor.
  3. -P: Este indicador especifica el puerto SSH para conectarse al host remoto. Este indicador se usa cuando no se usa el puerto SSH predeterminado.
  4. -N Bandera: Este indicador realiza una carrera en seco que imprime las teclas destinadas a la instalación sin instalarlas en el host remoto.

Conclusión

Esta guía le mostró cómo usar el comando SSH-Copy-ID para instalar las teclas SSH en hosts remotos. Aunque este puede ser un método simple y eficiente para instalar claves, las claves mal configuradas pueden dar lugar a problemas de seguridad o bloquearse del sistema. Por lo tanto, tenga mucho cuidado mientras experimenta con este proceso.