我可以通过执行以下操作从本地 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 连接,则可以返回。