![公钥认证失败(服务器拒绝我们的密钥)](https://linux22.com/image/943898/%E5%85%AC%E9%92%A5%E8%AE%A4%E8%AF%81%E5%A4%B1%E8%B4%A5%EF%BC%88%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8B%92%E7%BB%9D%E6%88%91%E4%BB%AC%E7%9A%84%E5%AF%86%E9%92%A5%EF%BC%89.png)
我正在尝试使用公钥身份验证连接到我的家庭服务器,但失败了。我以这种方式连接了很长时间,没有任何问题,现在却失败了,但我不知道为什么。
我在网上读到的大多数文档都告诉我使用ssh-keygen
和ssh-copy-id
以及其他类似的命令。我没有这样做,因为我在几个主机中都有相同的密钥,而且在任何地方更改密钥对我来说很复杂 - 这就是我寻求帮助的原因。我改用 Windows 主机中用 PuTTy 生成的配对密钥,并且私钥受密码保护。
现在我来解释一下我的情况。
今天,我已在此服务器上进行了全新重新安装,这给我带来了问题,为了简化我的情况并让你们帮助我更简单。我安装了 Ubuntu 18.04.5,然后sudo apt dist-upgrade
安装了 Ubuntu 18.04.6。在实时服务器安装程序中,我手动设置了网络参数(一切正常),并将其设置为安装 OpenSSH 服务器。服务器位于我本地网络中的 192.168.1.16/24。我还设置了 zfsutils-linux 并导入了我在之前的安装中使用的 ZFS 池。
现在,我使用密码验证从 Windows 主机使用 PuTTy 进行连接。然后我从 puttygen 复制了我的公钥(显示以下内容的区域)用于粘贴到 OpenSSH authorized_keys 文件中的公钥:),将其复制到 下的空文件中~/.ssh/
,并保存到authorized_keys
。命令如下:
alex@freenalex:~/.ssh$ sudo nano authorized_keys
我一直都是这样做的,没有问题。现在我检查并修复了所有权和权限,如下代码:
alex@freenalex:~/.ssh$ ls -al
total 12
drwx------ 2 alex alex 4096 Jan 11 12:58 .
drwxr-xr-x 5 alex alex 4096 Jan 11 12:12 ..
-rw------- 1 alex alex 398 Jan 11 12:11 authorized_keys
现在我设置 PuTTy 来连接私钥,但它显示以下内容:
login as: alex
Server refused our key
[email protected]'s password:
我在其他服务器上也有这个公钥,今天我尝试了一些连接示例,例如从 ubuntu 桌面虚拟机到同一台服务器(我认为其他尝试都出错了,但现在成功了),以及从这台使用 PuTTy 的 Windows 机器到我本地网络中的另一台服务器,对同一个用户使用相同的密钥对亚历克斯(成功)
也许我感染了病毒?这太奇怪了。
如果您询问,我可以提供更多信息。
提前致谢。