ssh

Cómo utilizar el comando ssh-copy-id

Cómo utilizar el comando ssh-copy-id

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 install openssh-client

Una vez que tenga OpenSSH instalado, 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 [archivo_identidad]] [-p puerto] [[-o ]…] [Usuario @] nombre de host -f: modo forzado - copia claves sin intentar comprobar si ya están instaladas -n: ejecución en seco - no se han copiado claves -h |-?: imprime esta ayuda

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 ~ /.directorio ssh, como se muestra a continuación.

$ ssh-keygen
Generando par 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 contraseña (vacío si no hay contraseña):
Ingrese la misma contraseña nuevamente:
Su identificación se ha guardado en / root /.ssh / id_rsa.
Tu clave pública se ha guardado en / root /.ssh / id_rsa.pub.
La huella dactilar clave es:
SHA256: ddVOQhS6CGt8Vnertz9aiSnvOUKmSpPrZ + gI24DptsA root @ user La imagen aleatoria de la clave es:
+---[RSA 2048]----+
| o = o |
| o. o |
| .. + .+.|
|       . + + o .o |
| S + .  . |
|. o ... o o  + .|
|.E o   +. +. + + |
| 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 / id_rsa.usuario de pub @ 77.134.54.101 -p 6576

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

/ usr / bin / ssh-copy-id: INFO: Fuente de la (s) clave (s) que se instalarán: "/ root /.ssh / id_rsa.pub"
/ usr / bin / ssh-copy-id: INFO: intentando iniciar sesión con las nuevas claves, para filtrar las que ya están instaladas
/ usr / bin / ssh-copy-id: INFO: quedan 1 clave por instalar; si se le solicita ahora, debe instalar las nuevas claves user @ 77.134.54.Contraseña de 101:
Número de claves agregadas: 1 Ahora intente iniciar sesión en la máquina, con: "ssh -p '6576" [email protected]' "y asegúrese de que solo se hayan agregado las claves 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 con la clave que cargó, de la siguiente manera:

$ ssh -p 6576 linkfy @ 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ña para la clave '/ root /.ssh / id_rsa ':
Último inicio de sesión: Vie Mar 5 14:06:16 2021 desde 173.208.98.186

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

Opciones del 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. -yo argumento: Este argumento especifica el archivo de identidad que se utilizará, i.mi., copiado al host remoto especificado. Si no especifica el argumento -i, todos los archivos en ~ /.directorio ssh con el patrón coincidente *.Se agregará pub.
  2. -bandera f: Esta bandera habilita el modo forzado, que no verifica 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. -bandera p: Esta bandera especifica el puerto SSH para conectarse al host remoto. Esta bandera se usa cuando no se usa 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. Si bien 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.

Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...