copia scp tiene error "objetivo ambiguo"


40

Intento copiar archivos de una máquina Linux (ubuntu) a un disco duro externo montado en una Mac, pero recibí un mensaje de error:

scp: ambiguous target

Lo que hice es, estoy en una Mac, ssh a la máquina Linux donde están los archivos. Luego use el siguiente comando:

scp fileToCopy myMacUser@myMacMachine:/Volumes/MyExternalDrive/targetDirectory

Qué hice mal ? ¿Cuál es el buen comando para usar en este caso?


Me sucedió cuando tenía un parámetro adicional ( -t; un remanente de un sshcomando anterior ) en la lista de argumentos; aparentemente no es compatible scppero el error que obtuve fue ambiguous target:(
Janaka Bandara

Respuestas:


61

Si tiene un espacio en blanco en una ruta, debe escapar de los caracteres utilizando barras diagonales inversas dobles \\y encerrando la ruta completa entre comillas:

scp myfile.txt user@192.168.1.100:"/file\\ path\\ with\\ spaces/myfile.txt"

3
sí eso es ! Primero intenté con doble \\ pero no funcionó y luego intenté agregar "" alrededor de mi camino con \\. Eso hace el trabajo. Gracias.
bob

1
Envolver la ruta remota entre comillas fue clave para mí
sam452

2
Las comillas simples y las barras invertidas simples funcionan igual de bien.
Andrew Lorien

1
Las barras invertidas triples sin comillas también funcionan.
pizzapants184

2
Las comillas dobles en qoutes simples sin espacios de escape también funcionan ( scp myfile.txt user@192.168.1.100:'"/file path with spaces/myfile.txt"'). De hecho, debe escapar del nombre de archivo dos veces: la primera desde el shell local y la segunda desde el remoto.
mik

0

Debe poner comillas para que los espacios no se malinterpreten. En lugar de hacer scp file Server:/folder\ location/deberías hacerscp file "Server:/folder\ location/"

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.