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.