从远程到本地的 SCP 不起作用

met*_*rsk 3 ssh scp

我可以通过以下方式从本地 scp 很好地删除:

scp trip3.csv pi@192.168.2.11:/home/pi/
Run Code Online (Sandbox Code Playgroud)

但是当我尝试对本地进行远程操作时,它说没有这样的文件或目录:

scp pi@192.168.2.11:/home/pi/trip3.csv /Users/andrew/Desktop
Run Code Online (Sandbox Code Playgroud)

当我尝试时,scp pi@192.168.2.11:/home/pi/image.jpg ~它会询问我的远程密码并显示传输已通过,但我在本地计算机上找不到该文件。

有什么想法吗?


这就是我现在的位置:

步骤 1 - ssh 到远程主机

第 2 步 -sudo scp pi@192.168.2.11:image.jpg ~ 这给出了这个回应:pi@192.168.2.11's password:

第 3 步 - 我输入正确的密码,它给出了这个: image.jpg 100% 163KB 162.7KB/s 00:00

第 4 步 - 在我做的本地机器上cd ~ls | grep image.jpg它不提供任何输出,只是一个新的命令行

flo*_*nts 8

您对 scp 的工作方式有一个非常基本的误解。

假设“本地”是您希望文件结束的位置,而“远程”是文件现在所在的位置,请执行以下操作:

scp user@remote:/path/to/file.name ~
Run Code Online (Sandbox Code Playgroud)

~ 可以替换为您希望文件在本地的任何位置。

不要先ssh到远程。当您 ssh 到远程然后运行该命令时,您实际上是将文件从远程复制到远程,这不是您想要的。

做你正在做的事情,但跳过第 1 步。在本地机器上从 bash/终端运行 scp,不要先 ssh 到远程。

(删除我的另一个答案,因为它不再相关)