Copiando un archivo remoto a una ruta especificada en el escritorio local usando scp

10

Intenté copiar un archivo del servidor remoto usando SCP pero me está dando el siguiente error.

bash-3.2$ scp username@server:main.php C:\main.php

ssh: no se pudo resolver el nombre de host C: se proporcionó el nombre de host ni el nombre de servidor o no se conoc

Supone C: como nombre de host, pero es solo el nombre de la unidad ... Permítame cómo especificar explícitamente como un escape para deshacerse de este problema.

Si no especifico la ruta donde guardar en el escritorio local, está funcionando bien.

bash-3.2$ scp username@server:main.php main.php
main.php                                                                   100%   29KB  28.9KB/s   00:01

Agradezco cualquier ayuda .. Gracias de antemano,

PD: uso de Windows XP SP2

Naga Kiran
fuente

Respuestas:

14

Si está utilizando Cygwin's scp, puede intentar usar las rutas de Cygwin:

scp user@host:main.php /cygdrive/c/main.php

También puede usar los comandos pscpy psftpincluidos en el paquete PuTTY : son programas nativos de Win32 y no se quejarán de las rutas de Windows.

Alternativamente, WinSCP es un buen cliente SCP / SFTP (principalmente una GUI, aunque también viene con una herramienta de línea de comandos).

usuario1686
fuente
En realidad es / cygdrive / c.
Adam Rosenfield
Gracias por la GUI recomendada. Tenga en cuenta que WinSCP le permite modificar el editor que usa con él y funcionará junto con emacsclientw.
Giles Roberts
1
@grawity En realidad estabas en lo correcto antes. Es /cygdrive/cpor defecto, pero muchos usuarios de cygwin se ejecutan mount --change-cygdrive-prefix /para que sea en su /clugar ( /detc.) ya que es mucho más fácil escribir;)
DavidPostill
2

Use PSCP.exe

El problema que tiene es porque hace referencia a su unidad de Windows XP desde el shell que no puede hacer. Ha iniciado sesión de forma remota en una máquina, por lo que a menos que su caja de Windows XP tenga un servidor ssh ejecutándose, en cuyo caso usaría información de inicio de sesión y pw para la ubicación de destino, no podrá hacerlo.

Usando pscp.exe (gratis) puedes hacer lo que quieras.


fuente
0

@grawity tiene razón. En el futuro, también puedes correr

pwd

para averiguar en qué directorio se encuentra, para que pueda descubrir la ruta correcta al directorio que desea de acuerdo con cygwin.

Marqués Wang
fuente
0

Tuve el problema similar y tuve éxito usando:

nombre de usuario scp @ servidor: main.php /c/main.php

que solo es mencionado por los demás.

Urthona
fuente
3
En realidad, ¿no es esto exactamente lo que discute superuser.com/a/291841/53590 ? Además de haber sido editado de / c / a / cygdrive / c / después de que se señaló que esta última es la forma correcta.
un CVn
0

relacionado: necesitaba usar variables locales en la ruta, y descubrí que usar cygpathera muy útil.

p.ej

scp $MY_FILE [email protected]

volverse:

scp `cygpath $MY_FILE ` [email protected] 

Irónicamente, solo: echo $MY_FILEsolo estaba dando una ruta cygwin, pero utilizada en el comando scp, de alguna manera no era, y escupe el mismo error, ssh: No se pudo resolver el nombre de host C: nombre de host ni nombre de servidor proporcionado, o desconocido

Matt S.
fuente