63

I'm trying to test some C code that I'm writing. The only issue is that the code needs to be executed on a remote machine. My laptop is pretty old, and there is no driver for my wireless card available for Ubuntu, so booting into Linux to circumvent this problem isn't an option. Here's my question:

I'm using putty to SSH into the remote machine, and I'm writing my code on Notepad++. The location of my file is: C:\Users\Admin\Desktop\WMU\5260\A2.c

My problem is that when I use the command scp C:\Users\Admin\Desktop\WMU\5260\A2.c ~ I get the error could not resolve hostname C:. Name or service not known".

I've also tried scp Users\Admin\Desktop\WMU\5260\A2.c ~ which gives me the error Cannot stat 'Users\Admin\Desktop\WMU\5260\A2.c': no such file or directory

What am I doing incorrectly?

kaybee99
  • 3,862
  • 2
  • 32
  • 33
Chris Phillips
  • 1,484
  • 2
  • 14
  • 26

3 Answers3

62

You need to tell scp where to send the file. In your command that is not working:

scp C:\Users\Admin\Desktop\WMU\5260\A2.c ~

You have not mentioned a remote server. scp uses : to delimit the host and path, so it thinks you have asked it to download a file at the path \Users\Admin\Desktop\WMU\5260\A2.c from the host C to your local home directory.

The correct upload command, based on your comments, should be something like:

C:\> pscp C:\Users\Admin\Desktop\WMU\5260\A2.c ckg8221@thor.cs.wmich.edu:

If you are running the command from your home directory, you can use a relative path:

C:\Users\Admin> pscp Desktop\WMU\5260\A2.c ckg8221@thor.cs.wmich.edu:

You can also mention the directory where you want to this folder to be downloaded to at the remote server. i.e by just adding a path to the folder as below:

C:/> pscp C:\Users\Admin\Desktop\WMU\5260\A2.c ckg8221@thor.cs.wmich.edu:/home/path_to_the_folder/
nobody
  • 19,010
  • 17
  • 53
  • 73
  • 1
    Can you clarify that this is partially an extension of Putty, and may needed to be added to PATH if you dont switch to the putty dir? I was confused where pscp comes from, it was almost as if it was insinuated that its already on Dos, which threw me way off. Here's a link that describes that PSCP is a putty extension that you have and may need to add it to your PATH, etc.. https://it.cornell.edu/managed-servers/transfer-files-using-putty – blamb Feb 28 '21 at 04:35
27

You can use PSCP to copy files from Windows to Linux.

  1. Download PSCP from putty.org
  2. Open cmd in the directory with pscp.exe file
  3. Type command pscp source_file user@host:destination_file

    • Ex.
      pscp sample.txt myuser@myhost.com:/mydata/sample.txt

Reference

Swaps
  • 1,220
  • 19
  • 28
  • putty may already have came with it, depending on the version you installed, it may just not be in the path. see link on my comment on @nobody answer. – blamb Feb 28 '21 at 04:36
18

Use scp priv_key.pem source user@host:target if you need to connect using a private key.

or if using pscp then use pscp -i priv_key.ppk source user@host:target

s4ndhyac
  • 556
  • 5
  • 10