如何使用SSH将文件夹从本地计算机正确复制到服务器?为什么scp命令会出错?


0

我通过登录到我的网络服务器 SSH 使用名为的工具 MobaXterm (它有点像Putty但具有高级功能,这不是那么重要......)

我的问题是我想将本地计算机(Windows)中的目录发送到此服务器(Linux)的特定目录。

所以我试着用 SCP 命令如下所示: http://www.hypexr.org/linux_scp_help.php

我这样做了:

-jailshell-4.1$ scp -r C:\Users\Andrea\Documents\Betrivius\candycane-0.9.6\candycane /home6/XXX/public_html

ssh: Could not resolve hostname C: Name or service not known

但是,正如您所看到的,我得到了一个错误。

为什么?我错过了什么?我该如何解决这个问题?

TNX


1
SSH (因此也是 scp )将冒号解释为主机上主机和路径之间的分隔符。因此你必须逃脱结肠。在Linux上,你通常会在前面添加一个反斜杠: \:,但我不知道这应该如何在Windows上工作。仅供参考:源和目的地都不包含远程主机名,这似乎也是您需要解决的问题。
Jaap Eldering

1
它看起来像你调用 scp 在服务器上。你应该跑 scp 或者本地计算机上的等效工具,除非您的Windows也是SSH服务器(但即使在这种情况下,从Windows启动连接似乎更自然)。我建议你调查提到的MobaXterm“内置文件传输窗格” 这里
Kamil Maciorowski

Answers:


1

除非该Web服务器有办法直接连接到您的Windows机器(在端口22上需要运行SSH守护程序以及正在转发的端口),否则您需要从Windows端调用SCP。 MobaXTerm是一个ssh客户端,我不确定它是否内置了SCP(我个人并不使用它),但这里最好的解决方案是使用SCP客户端,无论是命令行客户端还是GUI客户端。

一个相当受欢迎的Windows客户端是 WinSCP赋予 ,当我别无选择,只能使用Windows时,它是我的goto客户端。


1

大概是你在本地的MobaXterm shell(即windows机器的本地)中运行它。如果是这种情况,则需要更新scp命令语法以适应该环境,尽管语法不正确。

MobaXterm通过mountpoint提供对其shell中本地驱动器的访问 /drives/X,X是Windows驱动器号。

此外,scp的(简化)通用语法,无论环境如何:

scp用法:

scp [[user@]host1:]/path[/filename] [[user@]host2:]/path/[filename]

第一个序列( [[user@]host1:]/path[/filename] )是'FROM'部分;要复制的文件的来源。第二个是'TO';目的地。括号表示可选参数。

它实际上只是标准cp命令的ssh启用版本;与之前的部分 : 包含ssh特定信息,以及之后与cp操作有关的信息。

用户:

user 默认为您当前的本地用户名 - 如果源和目标中的用户名都是正确的,则可以省略它。

主办:

host 默认为本地计算机(localhost);因此,如果要复制到本地计算机或从本地计算机复制并且要使用的localhost上的用户名是当前用户,则可以省略本地文件的该参数。

文件路径:

path/filename 默认为指定的用户主目录,如果需要,可以省略它。在您的情况下执行递归复制时可以省略文件名 - 在这种情况下只提供路径。通常,完整路径和文件名在FROM部分中指定,并且只是TO部分中的路径(它将默认保持相同的文件名)。

我正在使用 remoteuserremotePC 作为用户名和远程PC主机名;替换为正确的名称。

在您的示例中更正语法:

 scp -r "/drives/C/Users/Andrea/Documents/Betrivius/candycane-0.9.6/candycane" remoteuser@remotePC:/home6/XXX/public_html

使用该命令 man scp 要么 这个网站 有关其他详细信息(参数,其他用法信息)。

GUI选项

或者,MobaXterm提供图形文件浏览器(基于sftp或基于配置选项的scp构建),当您通过ssh连接到远程主机时,它提供拖放双向文件传输。 细节在这里

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.