所以,我试图通过ssh和scp简单地将文件夹从本地计算机传输到服务器。 sudoing后,我正在使用如下命令:
scp -r C:/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile
我收到错误:
ssh:C:名称或服务未知
我猜它是c:/desktop
等我的语法。有什么想法吗?
BTW我正在使用putty + Windows 7。
答案 0 :(得分:42)
如果你的驱动器号是C,你应该可以使用
scp -r \desktop\myfolder\deployments\ user@host:/path/to/whereyouwant/thefile
没有驱动器号和反斜杠而不是正斜杠。
您正在使用putty,因此您可以使用pscp。它更适合Windows。
答案 1 :(得分:16)
驱动器号可以在目标中使用,如
scp some_file user@host:/c/temp
其中c
是驱动器号。它被视为一个目录。
也许这也适用于来源。
答案 2 :(得分:12)
在Windows上,您可以使用winSCP使用scp的图形界面。一个很好的免费软件,可以实现SFTP protocol。
答案 3 :(得分:1)
你也可以试试这个:
scp -r /cygdrive/c/desktop/myfolder/deployments/ user@host:/path/to/whereyouwant/thefile
答案 4 :(得分:0)
我发现在Windows上使用图形界面最简单(我建议mobaXTerm它有ssh,scp,ftp,远程桌面等等)但如果你在命令行上设置我会推荐cd& #39;进入带有源文件夹的目录然后
scp -r yourFolder username@server:/path/to/dir
-r
表示在目录上使用递归
答案 5 :(得分:0)
驱动器号可以在源中使用,如
{{1}}
答案 6 :(得分:0)
我看到这篇文章很老,但是在寻找这个问题的答案时,我无法从广阔的互联网超级高速公路上找到解决方案。因此,我希望我能为某个人做出自己的贡献而有所帮助,因为他们也发现自己正绊脚石寻求答案。这个简单自然的问题似乎没有任何地方记录。
在连接到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
此外,对于您的特殊情况,我也回应了Cornel所说的话:
在Windows上,至少在常规命令控制台上使用反斜杠。
亲切的问候。 RocketCityElectromagnetics