使用scp从Windows将本地文件复制到远程服务器

问题描述 投票:59回答:7

因此,我试图通过ssh和scp将文件的文件夹从本地计算机传输到服务器。 sudoing后,我使用如下命令:

scp -r C:/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile

我收到错误:

ssh:C:名称或服务未知

我猜它是c:/desktop等的语法。有什么想法吗?

顺便说一句,我正在使用腻子+ Windows 7。

windows ssh copy sudo scp
7个回答
48
投票

如果驱动器号为C,则应该可以使用

scp -r \desktop\myfolder\deployments\ user@host:/path/to/whereyouwant/thefile

没有驱动器号和反斜杠,而不是正斜杠。

您正在使用腻子,因此可以使用pscp。它更适合Windows。


17
投票

驱动器号可以在目标中使用,例如

scp some_file user@host:/c/temp

其中c是驱动器号。它被视为目录。

也许这也适用于源代码。


14
投票

在Windows上,您可以使用winSCP使用scp的图形界面。一个很好的免费软件,可实现SFTP protocol


1
投票

您也可以尝试以下方法:

scp -r /cygdrive/c/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile

1
投票

我看到这篇文章很旧,但是在寻找这个问题的答案时,我无法从广阔的互联网超级高速公路中找到解决方案。因此,我希望我能为某个人做出自己的贡献而有所帮助,因为他们也会为寻求答案而绊脚石。这个简单,自然的问题似乎没有任何地方记录。

在连接到Windows 10 Pro的Windows 10 Pro(均运行OpenSSH(Windows版本7.7p1,LibreSSL 2.6.5)上,我能够通过反复试验找到解决方案。尽管非常简单,但还是花了一段时间。我发现所需的语法是

通过示例代替更多的晦涩和不完整的模板:

从远程系统安全地传输到本地系统:

scp user@remotehost:\D\mySrcCode\ProjectFooBar\somefile.cpp C:\myRepo\ProjectFooBar

或反过来:

scp C:\myRepo\ProjectFooBar\somefile.cpp user@remotehost:\D\mySrcCode\ProjectFooBar

我还发现,如果路径中有空格,则引号应以远程主机名开头:

scp user@remotehost:"\D\My Long Folder Name\somefile.cpp" C:\myRepo\SimplerNamerBro

此外,对于您的特殊情况,我回应科奈尔所说的话:

在Windows上,至少在常规命令控制台上使用反斜杠。

致谢。RocketCityElectromagnetics


0
投票

我发现最简单的方法是在Windows上使用图形界面(我建议mobaXTerm它具有ssh,scp,ftp,远程桌面等),但是如果您在命令行上设置,则建议使用cd'带有源文件夹的目录,然后scp -r yourFolder username@server:/path/to/dir[-r表示要在目录上使用递归]


0
投票

驱动器号可以在源代码中使用,例如

scp /c/path/to/file.txt user@server:/dir1/file.txt
© www.soinside.com 2019 - 2024. All rights reserved.