12

I was trying to copy a file from remote server using SCP but its giving the following error.

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

ssh: Could not resolve hostname C: hostname nor servname provided, or not known

Its assuming C: as hostname but its just the drive name..Please let me how to specify explicitly like some escaping to get rid of this issue.

If i don't specify the path where to save on local desktop,its working fine.

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

Appreciate any help.. Thanks in advance,

PS: Using Windows XP SP2

0

5 Answers 5

15

If you are using Cygwin's scp, you might try using the Cygwin paths:

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

You could also use the pscp and psftp commands included in the PuTTY package – they are native Win32 programs and won't complain about Windows paths.

Alternatively, WinSCP is a good SCP/SFTP client (primarily a GUI, though also comes with a command-line tool).

3
  • It's actually /cygdrive/c . Commented Jun 4, 2009 at 18:44
  • Thanks for the recommended GUI. Please note that WinSCP allows you to alter the editor you use with it and will work in conjunction with emacsclientw. Commented Jan 21, 2013 at 11:56
  • 1
    @grawity Actually you were correct before. It is /cygdrive/c by default, but many cygwin users run mount --change-cygdrive-prefix / so that it is /c instead (/d etc) as it's much easier to type ;)
    – DavidPostill
    Commented Jun 10, 2015 at 15:00
2

Use PSCP.exe

The problem you are having is because you are referencing your windows xp drive from the shell which you cannot do. You are logged on remotely to a machine so unless your windows xp box has a ssh server running in which case you would use login and pw info for the destination location, you will cannot do that.

Using pscp.exe (free) you can do what you want.

0
0

@grawity is right. In the future, you can run also

pwd

to find out what directory you're in, so that you can figure out the correct path to the directory you want according to cygwin.

0

I had the similar problem and had success using:

scp username@server:main.php /c/main.php

which is only sort of mentioned by the others.

1
  • 3
    Actually, isn't this exactly what superuser.com/a/291841/53590 discusses? Plus having been edited from /c/ to /cygdrive/c/ after it being pointed out that the latter is the correct form.
    – user
    Commented Nov 2, 2015 at 20:24
0

related: I needed to use local variables in the path, and found using cygpath was very helpful.

e.g.

scp $MY_FILE [email protected]

become:

scp `cygpath $MY_FILE ` [email protected] 

ironically, just: echo $MY_FILE alone was giving a cygwin path, but used in the scp command, it somehow was not, and spit out that same error, ssh: Could not resolve hostname C: hostname nor servname provided, or not known

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .