Inicio > Gestión de red > ssh-copy-id

ssh-copy-id: Copiar clave pública SSH

El comando ssh-copy-id es una utilidad que facilita y asegura la adición de la clave pública SSH de un sistema local al archivo authorized_keys de un servidor remoto. Esto permite establecer conexiones SSH sin contraseña y reduce los errores que pueden ocurrir al copiar claves manualmente.

Descripción general

ssh-copy-id automatiza el proceso de configuración de la autenticación de clave pública SSH, ayudando a los usuarios a acceder de forma segura a servidores remotos sin contraseña. Este comando utiliza por defecto archivos de clave pública como ~/.ssh/id_rsa.pub o ~/.ssh/id_dsa.pub, pero también permite especificar un archivo de clave concreto.

Funciones principales

  • Copia la clave pública SSH al servidor remoto
  • Configura automáticamente los permisos del archivo authorized_keys
  • Facilita la configuración de acceso SSH sin contraseña
  • Evita la adición de claves duplicadas al ejecutarse varias veces (idempotencia)

Opciones principales

El comando ssh-copy-id ofrece varias opciones útiles para controlar finamente el proceso de copia de claves.

Configuración de clave y conexión

Modos de ejecución

Comando generado:

Combina los comandos.

Descripción:

`ssh-copy-id` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de uso

Diversos escenarios para copiar claves públicas SSH a un servidor remoto utilizando ssh-copy-id.

Uso básico

ssh-copy-id user@remote_host

Copia la clave pública predeterminada (ej. ~/.ssh/id_rsa.pub) a la cuenta 'user' en 'remote_host'. Se le pedirá que ingrese la contraseña.

Especificar un archivo de clave concreto

ssh-copy-id -i ~/.ssh/my_custom_key.pub user@remote_host

Copia la clave utilizando un archivo de clave pública especificado (ej. ~/.ssh/my_custom_key.pub).

Usar un puerto SSH no estándar

ssh-copy-id -p 2222 user@remote_host

Se utiliza cuando el servidor remoto ejecuta el servicio SSH en un puerto diferente al predeterminado (22), por ejemplo, en el puerto 2222.

Combinar varias opciones

ssh-copy-id -i ~/.ssh/another_key.pub -p 2222 user@remote_host

Ejemplo de copia de clave a un puerto no estándar utilizando un archivo de clave específico.

Consejos y precauciones

Consejos útiles y aspectos a tener en cuenta al usar ssh-copy-id.

Preparación previa

Antes de usar ssh-copy-id, asegúrese de lo siguiente:

  • Generación de clave pública: Si aún no tiene un par de claves SSH, primero debe generarlo con el comando `ssh-keygen`.
  • Acceso al servidor remoto: Debe tener una contraseña u otro método de autenticación para acceder al servidor remoto vía SSH. ssh-copy-id requiere la contraseña para esta autenticación inicial.

Problemas de permisos

ssh-copy-id configura automáticamente los permisos correctos para el directorio `~/.ssh` y el archivo `~/.ssh/authorized_keys` en el servidor remoto. Si copió la clave manualmente, debe establecer los permisos correctamente usando los comandos `chmod 700 ~/.ssh` y `chmod 600 ~/.ssh/authorized_keys`.

Idempotencia

ssh-copy-id no añade claves que ya han sido copiadas. Por lo tanto, ejecutarlo varias veces no resultará en claves duplicadas en el archivo authorized_keys. Esta es una característica muy útil para usar en scripts.



Comandos de la misma categoría