Cómo utilizar el comando ssh-copy-id

How Use Ssh Copy Id Command



El comando ssh-copy-id es una herramienta simple que le permite instalar una clave SSH en las claves autorizadas de un servidor remoto. Este comando facilita el inicio de sesión con clave SSH, lo que elimina la necesidad de una contraseña para cada inicio de sesión, lo que garantiza un proceso de inicio de sesión automático 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 para hacer que sus inicios de sesión SSH sean más fluidos y seguros.







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 update && sudo apt-get installopenssh-cliente

Una vez que tenga OpenSSH instalado, puede usar la herramienta ssh-copy-id en la línea de comandos.





$ ssh-copy-id

Uso:/usr/soy/ssh-copy-id[-h|-?|-F|-norte] [-I[archivo_identidad]] [-p puerto] [[-o<ssh -oopciones>]...] [usuario@]nombre de host-f: modo de fuerza--copiar claves sin intentar comprobarsiya están instalados -n: ejecución en seco--en realidad no se copian claves-h|- ?: imprime estoayuda

Usar ssh-copy-id es simple porque el script hace que el proceso de autenticación de clave pública sea más fácil y eficiente. Antes de sumergirnos en cómo usar la herramienta, primero analizaremos cómo funciona la autenticación de clave pública SSH.

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



Autenticación de clave pública SSH

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

Las claves SSH son más seguras que las contraseñas sin formato y proporcionan una forma mucho más eficiente de iniciar sesión en SSH. Las claves SSH son automáticas y, una vez autorizadas, no requieren una contraseña en cada inicio de sesión.

Para usar una clave SSH, comenzaremos generando una clave.

Cómo generar una clave SSH

Para generar una clave SSH, use la herramienta ssh-keygen que viene como parte de OpenSSH. Esta herramienta genera archivos de claves públicas y privadas almacenados en el directorio ~ / .ssh, como se muestra a continuación.

$ssh-keygen

Generando público/par de claves rsa privadas.
Ingresarexpediente en cualespara guardar la llave(/raíz/.ssh/id_rsa):
Directorio creado'/root/.ssh'.
Ingrese la frase de contraseña(vacíoporsin contraseña):
Ingrese la misma contraseña nuevamente:
Tu identificación ha sido guardadaen /raíz/.ssh/id_rsa.
Tu clave pública se ha guardadoen /raíz/.ssh/id_rsa.pub.
La huella dactilar clave es:
SHA256: raíz ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ + gI24DptsA@usuario La claveLa imagen de Randomart es:
+ --- [RSA 2048] ---- +
| o = o |
| o. o |
| . . + .+.|
| . + + o .o |
| S +. . |
|. o ..o o +. |
| .Y el +. +. + + |
| o. = o.o + .o. + .. |
| .o .. oo = + o = o. + |
+ ---- [SHA256] ----- +

Cómo copiar la clave SSH usando SSH-copy-id

Una vez que hayamos generado una clave SSH, podemos agregar manualmente la clave SSH al archivo de claves_autorizadas de la máquina remota 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 la ruta a la clave pública, de la siguiente manera:

$ssh-copy-id-I~/.ssh/usuario id_rsa.pub@77.134.54.101-pag 6576

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

/usr/soy/ssh-copy-id: INFO: Origen de la clave(s)Para ser instalado:'/root/.ssh/id_rsa.pub'
/usr/soy/ssh-copy-id: INFO: intentando iniciar sesiónencon la nueva llave(s), para filtrar los que ya están instalados
/usr/soy/ssh-copy-id: INFORMACIÓN:1llave(s)Quedan por instalar-- sise le pide ahora que es paraInstalar en pcel nuevo usuario de claves@77.134.54.101's contraseña:
Número de llave(s)adicional:1Ahora intente iniciar sesión en la máquina con:'ssh -p' 6576 '' [correo electrónico protegido] ''y revisa ahacerseguro que solo la llave(s)que querías fueron añadidos.

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 con la clave que cargó, de la siguiente manera:

$ssh -pag 6576linkfy@77.134.54.101

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

Ingrese la frase de contraseñaporllave'/root/.ssh/id_rsa':
Último inicio de sesión: Vie Mar5 14:06:16 2021de 173.208.98.186

El comando anterior debería permitirle iniciar sesión en el host remoto sin solicitar la contraseña del usuario. Es posible que el sistema le solicite que ingrese la contraseña de la clave que configuró anteriormente.

Opciones del comando SSH-copy-id

Puede modificar el funcionamiento del 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. -i argumento : Este argumento especifica el archivo de identidad que se utilizará, es decir, se copiará en el host remoto especificado. Si no especifica el argumento -i, se agregarán todos los archivos del directorio ~ / .ssh con el patrón coincidente * .pub.
  2. -f bandera : Esta bandera habilita el modo forzado, que no comprueba si la clave está preconfigurada en Authorized_keys en el servidor. El indicador -f agrega una clave, lo que a menudo da como resultado varias copias de la misma clave instaladas en el servidor.
  3. -p bandera : Este indicador especifica el puerto SSH para conectarse al host remoto. Este indicador se utiliza cuando no se utiliza el puerto SSH predeterminado.
  4. -n bandera : Esta bandera realiza una ejecución en seco que imprime las claves 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 claves SSH en hosts remotos. Aunque este puede ser un método simple y eficiente para instalar claves, las claves mal configuradas pueden resultar en problemas de seguridad o el bloqueo del sistema. Por lo tanto, tenga mucho cuidado al experimentar con este proceso.