Para usar ssh-id-copy, ¿necesitas tanto id_rsa.pub como id_rsa?

19

Estoy tratando de configurar una segunda clave ssh de acceso para un amigo. Me envió su id_rsa.pub.

ssh-copy-id -i id_rsa.pub [email protected]
/usr/local/bin/ssh-copy-id: ERROR: failed to open ID file './id_rsa': No such file or directory

¿Necesito que me envíe los dos archivos?


fuente
1
El .pub es suficiente. Y tenga en cuenta que siempre guarda su secreto de clave privada (¡en todo momento!). Para agregar una nueva clave, simplemente puede agregar el contenido de .pub a sus claves_autorizadas.
sordo
2
@deagh No necesita mantener una clave privada en secreto, debe mantenerla segura.
El script ssh-copy-id aquí no parece emitir ese mensaje de error en particular. Noté que su script ssh-copy-id está en / usr / local / bin. Puede ser diferente de la versión de uso común del comando.
Kenster

Respuestas:

12

El ssh-copy-idcomando de OpenSSH falla si no hay un archivo de clave privada con el mismo nombre disponible, porque intenta iniciar sesión con la clave especificada para verificar si ya está presente en el servidor remoto.

En versiones recientes, puede anular este comportamiento con el modificador -f("Modo forzado").

Desde la página del manual :

-f

    Modo forzado: no comprueba si las claves están presentes en el servidor remoto. Esto significa que no necesita la clave privada. Por supuesto, esto puede provocar que se instale más de una copia de la clave en el sistema remoto.

Dario Seidl
fuente
1
Atención, el orden de los parámetros es estricto. -fsolo funciona como se espera si lo pasa antes del -iargumento. ssh-copy-id -i mykey.pub -f otheruser@hostsolo se queja, hasta que te mueves -f al frente.
init_js
5

El .pubes suficiente. No estás en la carpeta correcta.

Puedes probar esto:

ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

(para el usuario root: no recomendado, es solo un ejemplo).

Este archivo está debajo de la .sshcarpeta en la carpeta del usuario.

Jérémy Muñoz
fuente
44
-fCreo que en Mac necesita si no tienes la clave privada, creo
Stevie G
1

Como se mencionó aquí, este es un error.

De todos modos, simplemente puede crear un archivo vacío para que funcione. En tu caso:

$ touch ./id_rsa
$ ssh-copy-id -i id_rsa.pub [email protected]

Tuve el mismo problema y esto funcionó para mí 👍

jawira
fuente
-1

funciona para mí, la pregunta es cuando pregunta "Ingrese el archivo para guardar la clave (/Users/xiaoyu/.ssh/id_rsa):" debe escribir id_rsa

y use el comando "ssh-copy-id -i ~ / .ssh / id_rsa.pub [email protected]"

usuario984431
fuente