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-clientUna vez que tenga OpenSSH instalado, puede usar la herramienta ssh-copy-id en la línea de comandos.
$ ssh-copy-idUso: / usr / bin / ssh-copy-id [-h |-?| -f | -n] [-i [archivo_identidad]] [-p puerto] [[-o
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-keygenGenerando 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 6576Despué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.101El 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.
- -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.
- -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.
- -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.
- -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.