当我尝试在 ssh 中 scp 时,出现权限被拒绝(公钥)的情况

当我尝试在 ssh 中 scp 时,出现权限被拒绝(公钥)的情况

我可以通过 ssh 登录到远程服务器并浏览其文件系统,但是当我尝试将文件从服务器 scp 到我的笔记本电脑时,我收到一条错误消息。

例子:

user@server:/file$ scp -r user@server: /file/ /My/Home/Dir [I Hit Enter]

Permission denied (publickey)

为什么我会收到此错误?我该如何解决?
谢谢

答案1

您的服务器没有访问您笔记本电脑的私钥。关系只是单向的。

您需要在服务器上创建一个密钥,并将其公钥添加到您的笔记本电脑中。以下是基本概述:

  1. SSH 进入你的服务器
  2. 运行ssh-keygen以生成密钥
  3. 将生成的公钥复制到您的笔记本电脑。
  4. 现在您应该能够通过 SSH 重新登录到您的笔记本电脑。

答案2

而不是使用 SCP 将文件从服务器推送到笔记本电脑。为什么不尝试在笔记本电脑上使用 SCP 从服务器提取文件?这意味着您不需要在笔记本电脑上设置 SSH 服务器,也不需要为服务器配置公钥身份验证。您最初发布的 SCP 命令旨在执行此操作。您只是从错误的地方运行了它。

不要在服务器上的 SSH 会话中执行此命令,而是从笔记本电脑上的终端窗口运行它。

答案3

我也遇到了同样的问题。我的错误是,在重新格式化分区后,我忘记将私钥添加到 ssh-agent。如果您遇到同样的问题,请通过以下方式修复:

$ ssh-add /path_to_your_private_key

相关内容