[已解决] Linux 中的权限被拒绝 (publickey) SSH 错误[已解决] Linux 中的权限被拒绝 (publickey) SSH 错误[已解决] Linux 中的权限被拒绝 (publickey) SSH 错误[已解决] Linux 中的权限被拒绝 (publickey) SSH 错误
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

[已解决] Linux 中的权限被拒绝 (publickey) SSH 错误

本快速教程向您展示如何修复 Linux 上的 ssh 错误“sign_and_send_pubkey:签名失败:代理拒绝操作权限被拒绝(公钥)”。

此快速教程向您展示如何修复 Linux 上的 ssh 错误“sign_and_send_pubkey:签名失败:代理拒绝操作权限被拒绝(公钥)”。

如果您尝试通过 SSH 连接到远程服务器,您可能会遇到权限被拒绝错误。发生此错误的原因有多种。

  • 远程系统上禁用基于密码的身份验证

  • 您的公钥未添加到服务器,该服务器仅允许基于密钥的授权

  • SSH 密钥上的文件权限错误

此问题的修复取决于错误背后的确切原因。

就我而言,我将公钥和私钥存储在我的 Ubuntu 16.04 桌面上。 Ubuntu 18.04 发布后,我决定升级到这个新版本。与发行版升级相比,我更喜欢全新安装。

因此,我备份了主目录的主文件夹,包括外部磁盘上包含公钥和私钥的 .ssh 文件夹。

安装完成后,我在 Ubuntu 18.04 上启用了 SSH 并恢复了包括 SSH 密钥在内的所有内容。

现在,当我尝试使用 ssh 连接到远程服务器时,我认为它会立即工作,因为我有相同的公钥和私钥。

但这没有用。 SSH 给了我这个错误:

sign_and_send_pubkey: signing failed: agent refused operation
[email : Permission denied (publickey).

如果您遇到从其他来源复制 SSH 密钥的类似情况,让我向您展示如何修复此 SSH 错误。

正确的 ~/.ssh 文件夹及其内容的文件权限

根据经验,您可以对 ssh 目录及其文件(私钥、公钥、known_hosts、ssh 配置文件等)设置以下权限

.ssh directory

700((drwx-----)

public keys

第644章(-rw-r--r--)

private keys

600(-RW--------)

authorized_keys

600(-RW--------)

known_hosts

600(-RW--------)

config

600(-RW--------)

您可能没有所有文件,但您必须在此处拥有公钥和私钥。

现在让我们看看如何更改 ssh 密钥和其他文件的文件权限。

修复权限被拒绝(公钥)错误

所以问题就出在这里的文件权限上。你看,当我复制文件时,USB 是微软的 FAT 文件格式。该文件不支持 UNIX/Linux 文件权限。

因此,复制的 ssh 密钥的权限更改为 777。

对于SSH来说,文件权限过于开放。根本不允许对公钥或私钥有 777 权限。这就是 SSH 拒绝连接的原因。

ls -l .ssh
-rwxrwxrwx 1 abhishek abhishek 1766 Nov 12  2017 id_rsa
-rwxrwxrwx 1 abhishek abhishek  398 Nov 12  2017 id_rsa.pub
-rwxrwxrwx 1 abhishek abhishek 4214 Sep 21 21:39 known_hosts

私钥应该只对用户有读写权限,对组和其他人没有其他权限。

您应该使用 chmod 命令更改权限:

chmod 600 ~/.ssh/id_rsa

同样,公钥不应该具有组和其他人的写入和执行权限。

chmod 644 ~/.ssh/id_rsa.pub

现在您已经设置了正确的权限,您可以再次连接到 ssh。此时,它会要求您的管理员密码来解锁密钥。输入您的管理员密码,您就可以开始了。

这也给我一个教训,复制粘贴文件是一个坏主意,应该进行适当的备份,否则所有文件都将具有危险的 777 权限。我必须递归地更改整个主目录的文件权限,相信我,这不是一件好事。

正如我之前所说,导致此错误的原因可能有多种。对于与打开文件权限相关的问题,此修复应该可以帮助您修复 SSH 的权限被拒绝(公钥)错误。如果您有兴趣,可以阅读更多有关 SSH 基础知识的内容。

请在评论部分告诉我该修复是否对您有效。还建议您对在其他计算机上复制 ssh 密钥的看法。

©2015-2025 艾丽卡 support@alaica.com