Debian/Ubuntu Linux公钥已列入黑名单(请参阅ssh-vulnkey(1))错误和解决方案

时间:2020-01-09 10:41:51  来源:igfitidea点击:

问题描述:每当我尝试登录到名为in013.example.com的远程Debian Linux服务器时,在/var/log/auth.log文件中都会收到以下错误消息:

Jul 1 17:04:36 in013 sshd[14447]: Public key 48:de:55:22:xx:yy:zz:yy:xx:yy:zz:yy::88:e8:87:47 blacklisted (see ssh-vulnkey(1))  Jul 1 17:04:36 in013 sshd[14447]: Public key 48:de:55:22:xx:yy:zz:yy:xx:yy:zz:yy::88:e8:87:47 blacklisted (see ssh-vulnkey(1))

我使用Ubuntu Linux作为桌面操作系统。
如何解决此错误?

解决方法:这是Debian/Ubuntu Linux OpenSSL软件包中众所周知的安全流程。
首先,您需要通过执行以下命令来更新Ubuntu Linux桌面软件:

$ sudo apt-get update
$ sudo apt-get upgrade

这将为您更新openssl,openssh服务器和客户端软件包。
这还将重新生成存储在/etc/ssh /目录中的COMPROMISED密钥。
但是,这将更新存储在$HOME/.ssh中的个人COMPROMISED密钥。
执行以下命令以列出所有COMPROMISED密钥:

$ sudo ssh-vulnkey -a

ssh-vulnkey将密钥与已泄露密钥的黑名单进行检查。
您必须删除所有COMPROMISED密钥,然后使用ssh-keygen命令重新生成它们。

$ cd ~/.ssh
$ rm id_*
$ ssh-keygen -t rsa

或者

ssh-keygen -t dsa

将新的id_rsa.pub或者id_dsa.pub文件上传到远程主机并覆盖现有的authorized_keys2文件,执行:

$ scp ~/.ssh/id_rsa.pub [email protected]:.ssh/authorized_keys2

如果有多个密钥,则将~/.ssh/id_rsa.pub复制到$HOME并手动删除/更新authorized_keys2文件:

$ scp ~/.ssh/id_rsa.pub [email protected]:~/

找出行号,执行:

$ grep 'your-desktop-name' ~/.ssh/authorized_keys2

使用vi打开COMPROMISED键,输入(将N替换为实际的行号):

$ vi +N ~/.ssh/authorized_keys2

按dd一次删除文件。
保存并关闭文件。
追加新的公钥,执行:

$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keys2