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

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

我可以通过执行以下操作从本地 scp 删除:

scp trip3.csv [email protected]:/home/pi/

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

scp [email protected]:/home/pi/trip3.csv /Users/andrew/Desktop

当我尝试时,它会要求我输入远程密码并显示传输已完成,但我无法在本地机器上找到该文件。scp [email protected]:/home/pi/image.jpg ~

有什么想法吗?


这就是我现在的情况:

步骤 1-ssh 进入远程主机

第 2 步 - 给出以下响应:sudo scp [email protected]:image.jpg ~[email protected]'s password:

步骤 3 - 输入正确的密码,结果如下:image.jpg 100% 163KB 162.7KB/s 00:00

步骤 4 - 在本地机器上我执行了cd ~以下操作ls | grep image.jpg,但没有给出任何输出,只是一个新的命令行

答案1

您对 scp 的工作原理存在着相当根本的误解。

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

scp user@remote:/path/to/file.name ~

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

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

执行您正在做的事情,但跳过步骤 1。在本地计算机上从 bash/terminal 运行 scp,不要先 ssh 到远程。

(删除我的其他答案,因为它不再相关)

答案2

您的地址 192.168.xy 表示您可能正在通过 NAT/防火墙出去。虽然可以通过 NAT 出去,但其他方向则不行。如果您先使用允许使用现有连接打开反向连接的参数打开 ssh 连接,则可以返回。

相关内容