从远程的Ubuntu复制文件到本地的Mac

我已经四处搜索了,但似乎找不到这个... 我正在尝试将私钥复制到我的本地机器上,它是一台Mac。
当我在我的Mac上启动终端时,我会看到 Jamies-iMac:~ jamie$ 所以在我通过ssh登录到我的Ubuntu服务器后,我尝试了以下操作
scp /path/to/myfile.txt jamie@Jamies-iMac:/path/to/myfile.txt

给我带来的是:
ssh: Could not resolve hostname Jamies-iMac: Name or service not known
lost connection

在`jamie@Jamies-iMac:/path/to/myfile.txt`的位置,我尝试了一些其他变化,但似乎没有任何效果。谢谢你的帮助。
6个回答

@ovc说得对,但是有一个语法错误,而且我的编辑由于某种原因被拒绝了。在Ubuntu端,用户和文件路径之间需要有一个冒号,在Mac端,文件路径中需要包含/Users/username/部分。像这样:
scp username@192.168.1.111:/path/to/myfile.txt /Users/Jamie/local/path/to/myfile.txt

假设你已经设置好了私钥认证。

3显示“权限被拒绝(公钥)” - Anooj Krishnan G
默认端口是22,使用“-P”参数可以指定端口。 - Vahid
2使用“-r”递归复制一个文件夹。 - speckledcarp

你正在以错误的方式进行操作。在Mac上,只需使用scp命令,像这样:scp username@192.168.1.111:/path/to/myfile.txt /local/path/to/myfile.txt。你也可以使用FileZilla这个图形化客户端。通过类似sftp://192.168.1.111的URL连接到你的Ubuntu,当然你需要使用有效的IP地址。

啊,所以我只能走一条路。我知道这是件简单的事情。谢谢。 - inorganik
我对你的回答进行了一个小修改,直到按照修改所示的方式才起作用。 - inorganik
1只要两台机器上都运行着一个SSH服务器,inorganik这个东西可以双向传输。不过我不认为Mac电脑是这样的情况。否则,你需要从没有服务器的那台机器上使用scp命令来建立连接。 - ooa
1+1 提到图形客户端选项,我使用了Cyberduck,并且效果非常好。 - Dorian Farrimond

以上的回答都非常出色。此外,如果您需要使用证书进行身份验证,可以使用 -i 标志。
scp -i /path/to/cert username@192.168.1.111:/path/to/myfile.txt /Users/Jamie/local/path/to/myfile.txt

我之前没有看到你的回复,但这正是我所需要的。我从上面的答案中推断出来,然后看到了你的回复。谢谢你。 - AJC

此答案的启发,提出了一个解决方案。
为了将文件从远程服务器复制到本地个人计算机,您需要在本地计算机上打开终端并编写以下格式的命令:
scp -P $PORT_NUMBER $USERNAME@$IP_ADDRESS:$PATH_TO_THE_FILE_TO_COPY $PATH_TO_DESTINATION

解释:

scp : 

安全复制命令更多信息在这里

$PORT_NUMBER: 

SSH的默认端口设置为22,您可以在此处编辑该端口,例如:23。
$USERNAME: 

用户名访问

$IP_ADDRESS: 

远程访问的IP地址
$PATH_TO_THE_FILE_TO_COPY: 

你想获取文件的路径
$PATH_TO_DESTINATION: 

想要复制文件的路径

For exemple :

scp -P 22 johndoe@$011.235.813.213:/var/projects/calculator/tests/week-1 /Users/John/transit/

建议:

  • 确保您在服务器上要复制的元素上拥有必要的权限。
  • ⚠️ 请从您的家用电脑而不是服务器上启动此命令 ⚠️


如果你使用的路径中有空格,你应该用引号将路径括起来,例如
scp username@192.168.1.111:"/path to/myfile.txt" ./myfile.txt

然而,对我来说这并不起作用。
据说你应该使用三个反斜杠,例如

/Users/me/Application\\\ Data/file.txt

但只有在引号和双斜杠中使用路径才有效。
我正在从一台Mac电脑连接到另一台Mac电脑。

首先,在您的本地Mac上打开终端。
在终端中输入以下命令:
scp user@59.119.31.42:/tmp/server_db_backup/db.sql /Users/username/Desktop/
在上述命令中:
- "59.119.31.42" 应替换为服务器的IP地址。 - "/tmp/server_db_backup/db.sql" 应替换为服务器上文件的路径。 - "/Users/username/Desktop/" 应替换为您将要保存该文件的本地路径。
如果您需要传递证书以进行登录,请运行以下命令,并根据您的密钥位置替换所有上述内容和"path/to/key.pem"。
scp -i /path/to/key.pem user@59.119.31.42:/tmp/server_db_backup/db.sql /Users/username/Desktop/