尝试从远程主机复制(使用 scp)到本地计算机时出现“没有此文件或目录”错误

尝试从远程主机复制(使用 scp)到本地计算机时出现“没有此文件或目录”错误

我正在尝试使用 scp 命令将文件(/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.zip)从远程主机复制到本地机器的桌面(/Users/username/Desktop)。

为了实现这一点,我在 Mac 上运行 iTerm 并使用以下命令:

scp -r [email protected]:/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.zip /Users/username/Desktop/

(可能还值得注意的是,当我尝试执行此命令时,我通过 ssh 登录到我的远程主机。)

当我运行该命令时,系统提示我填写密码[email protected](我这样做了),然后我收到以下错误消息:

/Users/用户名/Desktop:没有此文件或目录

同样,我无法使用 scp 将文件复制到我的远程主机。

非常感谢您对这个问题的任何帮助,我希望我能得到简单/透彻的解释,因为我对使用命令行和 ssh 完全陌生。

答案1

scp不需要您通过 SSH 连接到远程计算机来进行复制(这是您当前在使用命令时遇到麻烦的地方)。

scp 本质上以推送或拉取的方式工作。您可以将文件/文件夹从本地 PC 推送到远程。此方法的命令语法如下:

scp /folderpath/tofile/file.txt user@remotehost:/folderpath/tocopyfileto/

user这将提示您输入的密码remotehost

您还可以将文件/文件夹从远程 PC 拉到本地 PC。此方法的命令语法如下:

scp user@remotehost:/folderpath/tofile/file.txt /folderpath/tolocalfolder/

这也会提示您输入user密码remotehost

您在使用上述命令时遇到的问题是,您使用 scp 命令的数据拉取语法从远程主机获取文件,但是在运行该命令时您也通过 SSH 连接到该远程主机。

运行此命令的正确方法是从本地机器运行它

scp -P 2222 [email protected]:/home4/user/public_html/website.com/folder_1/folder_2/file_to_copy.zip /Users/username/Desktop/

**请注意,我从您的原始命令中删除了多余的部分-r。这不会引发错误,只是在您的情况下没有必要。选项-rscp在递归复制文件夹及其所有内容时使用的。在您的情况下,您只是复制一个文件,因此没有必要。

**我还添加了,-P 2222因为您后续的评论表明您需要使用端口 2222 而不是标准端口 22。

相关内容