如何从远程机器SCP到本地机器?

Jum*_*ump 3 file-transfer scp cp

我知道这里有人问过一些类似的问题,我确实阅读了它们......但是,我仍然无法将文件从远程机器复制到我的本地计算机......我不断收到诸如“没有这样的文件”之类的错误或目录”

这就是我所做的。我在 MacOS 上打开终端,登录到远程机器,登录到cd我想要的文件夹。现在,在这个文件夹下我有一个 .txt 文件,说“error.txt”,我想把这个文件复制到我的本地桌面。

只需将桌面文件夹拖到终端中,我就可以获得本地桌面的目录,我得到了一个路径 /Users/myname/Desktop

然后我尝试了以下命令(在文件夹下 error.txt 在远程机器内):

scp -r error.txt /Users/myname/Desktop
Run Code Online (Sandbox Code Playgroud)

或一些变化

scp -r error.txt :/Users/myname/Desktop
scp -r error.txt ~/Users/myname/Desktop
scp -r error.txt Users/myname/Desktop
Run Code Online (Sandbox Code Playgroud)

但他们所有人都不断给我这样的错误

cannot create regular file `/Users/myname/Desktop': No such file or directory
Run Code Online (Sandbox Code Playgroud)

也许我的麻烦是如何正确写入我的本地路径?但是我可以/Users/muname/Desktop在本地机器内使用路径 cd 到我的本地桌面...

有帮助吗?谢谢!

Ton*_*nny 8

你做错了:
在终端不要登录到远程机器。
赶紧跑:

scp user@remote:<path>/error.txt /Users/myname/Desktop 
Run Code Online (Sandbox Code Playgroud)

换句话说:在 Mac 上本地运行 SCP 并告诉它从远程机器检索文件。当您已经登录到远程机器时,您需要从本地(在这种情况下是远程机器)到远程机器(在这种情况下是您的 Mac)进行 scp。

  • @JumpJump SCP 可以在本地&lt;-&gt;本地、本地&lt;-&gt;远程、远程&lt;-&gt;本地和远程&lt;-&gt;另一个远程之间复制。只是正确指定源和目标的问题。但在任何情况下,对于远程,您都需要提供完整路径,包括远程系统的登录凭据。无需先在遥控器上获取 shell,然后再将其复制回来。这只是额外的麻烦。 (2认同)