He iniciado sesión en un cuadro de win2008, ejecuto scp
la opción -i que apunta al directorio donde reside la clave privada en el cuadro de win2008.
scp -i "cygdrive/c/users/userid/privkey..." user@linux:/dirA/dirB/* .
Cuando ejecuto este comando en el cuadro de win2008, inicia sesión en el cuadro de Linux, coincide con las claves y envía los archivos al cuadro de win2008. Si no especifico la clave, me solicita una contraseña.
Generé las claves en el cuadro win2008 usando ssh-keygen. Agregué la clave de Linux en la configuración de winsshd en claves públicas. Luego tomé la clave del ssh-keygen y la puse en la caja de Linux.
¿Dónde está el comando scp buscando la clave? ¿Cómo puedo ejecutar scp
desde la caja de win2008 sin pasar la clave como parámetro?
Respuesta1
Si entiendo tu pregunta correctamente, hay un par de opciones...
establezca la ubicación predeterminada del archivo de identidad de la misma manera que se hace para SSH, como se explica aquí...https://stackoverflow.com/questions/84096/setting-the-default-ssh-key-location
o alias su
scp
comando para incluir el modificador así ...alias scp='scp -i /path/of/keyfile'
Ambos deberían funcionar, pero recomiendo la opción 1 sobre la opción 2. Es la forma más correcta de hacerlo.
Respuesta2
Creo que encontré mi propia respuesta. Aparentemente, scp está buscando el archivo de clave privada que se llamará id_dsa Y quiere que el archivo esté en el directorio .ssh. Una vez que encontré home/.ssh en la estructura de directorios cygwin (otra pieza clave del rompecabezas), agregué el archivo de clave privada con el nombre id_dsa y ejecuté el comando scp sin la opción -i, funcionó. Gracias a todos por enviarme vibraciones 'inteligentes' para que pudiera resolver esto. ¡Ya no estoy perplejo! Me gustan todas las sugerencias hechas aquí. Agradezco los rápidos comentarios.