如何检查 SSH 公钥末尾何时需要 = 或 ==?

Pet*_*753 0 ssh

是否可以通过 ksh/bash 自动化,因此通过 schellscript 检查所有用户的 ~/.ssh/authorized_keys 文件是否为错误 = 或 == 结尾?

我的一位朋友删除了 SSH 密钥末尾的 = 和 ==,因此用户被锁定,因为这是他们密钥的一部分:)

它来自这个模式(它可能是 ssh-rsa 并且具有不同的密钥长度):

from="1.2.3.4" ssh-dss AAAAB....0bOJKs= COMMENTHERE COMMENTHERE
Run Code Online (Sandbox Code Playgroud)

对此:

from="1.2.3.4" ssh-dss AAAAB....0bOJKs COMMENTHERE COMMENTHERE
Run Code Online (Sandbox Code Playgroud)

示例解决方案:密钥是否有固定长度?如何过滤掉坏键?

Tho*_*key 23

=标记只是填充,填写一个base64转换。你可以在

您可以为此自动修复/检查,因为 base64 值中的字符总数(不考虑编码之外的字符,例如空格)将是 4 的倍数。

  • @Peter84753 其实这正是你的问题。“_是否有固定长度的键?_”。关于另一个问题“_how to filter out the bad keys?_”,因为你显然知道大小:你为解决这个问题做了什么努力?你的问题没有显示任何努力。 (12认同)
  • @Peter84753 顺便说一句,“_Could it be自动通过ksh/bash,所以通过schellscript检查所有用户~/.ssh/authorized_keys文件是否错误=或==结束?_”的答案是**是** . (2认同)