99

我在 Windows 机器上运行 putty 客户端以成功连接到 Linux 机器。现在我希望能够将文件从 Linux 机器复制/home/ubuntu/myfileC:/Users/Anshul/Desktop本地计算机上的路径下。Windows 机器上的用户是anshul. 我在腻子上给出以下命令,但它不起作用:

scp /home/ubuntu/myfile ip_address_of_windows_machine:C:/Users/Anshul/Desktop 

我认为Windows机器的路径是错误的。请帮忙,因为我已经在大量论坛上敲了敲头,但似乎没有一个为 Windows 服务器提供正确的路径。不要建议其他选项,例如WinScp

4

16 回答 16

102

这个对我有用。

scp /home/ubuntu/myfile username@IP_of_windows_machine:/C:/Users/Anshul/Desktop 
于 2018-03-12T06:04:34.890 回答
86

pscpPutty 下载页面下载,然后从 Windows 命令行使用它,CMD如下所示:

pscp username_linux_machine@ip_of_linux_machine:/home/ubuntu/myfile.ext C:\Users\Name\Downloads

一旦您输入 Linux 机器的密码,复制就会开始。

于 2016-06-08T20:49:28.780 回答
65

试试这个,真的很管用。

$ scp username@from_host_ip:/home/ubuntu/myfile /cygdrive/c/Users/Anshul/Desktop

并用于复制所有文件

$ scp -r username@from_host_ip:/home/ubuntu/ *. * /cygdrive/c/Users/Anshul/Desktop
于 2014-06-10T11:57:21.950 回答
29

通过 Git Bash 控制台从 Windows 访问(也适用于 CMD 和 PowerShell):

scp user@ip:/dir1/dir2/file "D:\dir1\dir2"
于 2019-01-04T13:18:57.957 回答
12

你可以使用类似下面的东西

scp -r linux_username@linux_address:path/to/file path/to/local/directory

这将复制到您当前正在使用的系统上file的指定本地。directory

如果远程是目录,则该-r标志告诉scp递归复制。file

于 2015-02-16T23:58:46.520 回答
9

Windows 本身不支持SSH/SCP/SFTP。您是否在该 Windows 服务器上运行 SSH 服务器应用程序?如果是这样,则配置选项之一可能是根所在的位置,您将指定相对于该根的路径。无论如何,请检查您在 Windows 中运行的 SSH 服务器应用程序的文档。

或者,使用smbclient将文件推送到 Windows 共享。

于 2012-04-19T19:59:47.407 回答
4

您的代码不起作用,因为 c:/ 或 d:/ 对于linux 是完全错误的,只需使用 /mnt/c 或 /mnt/c

在本地 windows10-ubuntu bash 中使用以下命令:

下载:( 从您的远程服务器文件夹到 d:/ubuntu):

scp username@ipaddress:/folder/file.txt /mnt/d/ubuntu

然后在需要时输入您的远程服务器密码。

上传:( 从 d:/ubuntu 到远程服务器):

scp /mnt/d/ubuntu/file.txt username@ipaddress:/folder/file.txt 

然后在需要时输入您的远程服务器密码。注意:我测试过并且有效。

于 2019-02-19T12:09:39.390 回答
4

对于所有使用“Git Bash”完全安装了 Git 的人:你可以写:

scp login@ip_addres:/location/to/folders/file.tar .

(末尾有空格和点以复制到当前位置)。不仅仅是添加证书(y),写密码就可以了。

于 2017-10-03T12:31:01.113 回答
3

下载并安装腻子后,我必须像上面的 Hesham 帖子一样使用 pscp。我在 Windows 上从 Linux 对 Windows 进行了操作,所以我输入了以下内容:

c:\ssl>pscp username@linuxserver:keenan/ssl/* .

这会将keeanan/ssl 文件夹中的所有内容复制到您从(c:\ssl) 执行此命令的本地文件夹(.)。keenan/ssl 将指定用户名用户的主文件夹,例如完整路径为 /home/username/keenan/ssl。您可以使用正斜杠 (/) 指定不同的文件夹,例如

c:\ssl>pscp username@linuxserver:/home/username/keenan/ssl/* .

因此,您可以使用:/.

于 2018-12-14T12:47:07.323 回答
2

将文件从 windows 发送到 linux 系统

scp path-to-file user@ipaddress:/path-to-destination

例子:

scp C:/Users/adarsh/Desktop/Document.txt root@127.0.0.1:/tmp

请记住,Windows 路径中的文件需要使用正斜杠(/)代替反斜杠(\),否则将显示错误

C:UsersadarshDesktopDocument.txt:没有这样的文件或目录

. 执行 scp 命令后,您将在 linux 机器中询问root 用户的密码。你去...

将文件从linux发送到windows系统

scp -r user@ipaddress:/path-to-file path-to-destination

例子:

scp -r root@127.0.0.1:/tmp/Document.txt C:/Users/adarsh/Desktop/

并提供您的 linux 密码。您必须在此命令中添加的唯一一个是-r。谢谢。

于 2019-03-15T06:00:38.183 回答
1

正如@Hesham Eraqi 建议的那样,它以这种方式对我有用(从Ubuntu转移到Windows(我试图在该答案中添加评论,但由于声誉,我不能)):

pscp -v -r -P 53670 user@xxx.xxx.xxx.xxx:/data/genetic_map/sample/P2_283/* \\Desktop-mojbd3n\d\cc_01-1940_data\

在哪里:

-v: 显示详细信息。
-r: 递归复制目录。
-P: 连接到指定端口。
53670: 连接 Ubuntu 服务器的端口号。
\\Desktop-mojbd3n\d\genetic_map_data\: 我需要转移到外部硬盘,因此我必须授予此设备的共享权限。

于 2019-06-27T03:37:37.557 回答
1

以下是使用 ssh 无需密码的 SCP 将文件从 Linux 复制到 Windows 的解决方案:

  1. 在 Linux 机器上安装 sshpass 以跳过密码提示

  2. 脚本

    sshpass -p 'xxxxxxx' scp /home/user1/*.* testuser@x.x.x.x:/d/test/

细节:

sshpass -p 'password' scp /source_path/*.* windowsusername@windowsMachine_ip:/destination_drive/subfolder/
于 2015-08-28T12:47:19.293 回答
0

打开 bash 窗口。最好是 git bash。写

scp 用户名@remote_ip:/directory_of_file/filename 'windows_location_you_want_to_store_the_file'

例子:

假设你的用户名是gem

你的 IP 是176.35.96.32

您的远程文件位置是/usr/local/forme

你的文件名是logs.zip

并且您想存储在您的Windows PC 的 D 驱动器窗体文件夹 中,那么命令将是

scp Jewel@17​​6.35.96.32:/usr/local/forme/logs.zip 'D:/forme'

**将本地文件目录保留在单引号内。

于 2019-04-07T06:02:24.713 回答
-1

我知道这很旧,但我也在为此苦苦挣扎。我还没有找到更改目录的方法,但是如果您只想使用 C 驱动器,则 scp 默认为 C。要从 Ubuntu scp 到 Windows,我最终不得不使用(注意双反斜杠):

scp /local/file/path user@111.11.11.111:Users\\Anshul\\Desktop

希望这可以帮助某人。

于 2016-07-29T00:35:02.257 回答
-7

尝试这个:

scp /home/ubuntu/myfile C:\users\Anshul\Desktop
于 2013-01-12T02:50:40.807 回答
-11

如果要将粘贴文件从 Unix 复制到 Windows 和 Windows 到 Unix,只需使用端口 22 的 filezilla。

于 2012-09-04T07:38:22.000 回答