在线 SSH 密钥到指纹的转换

在线 SSH 密钥到指纹的转换

网络上是否有任何工具可以将 SSH 公钥转换为指纹。由于某些情况,我无法运行 ssh-keygen -lf 命令。

或者腻子中是否有我可以使用的选择?

答案1

这是一种非常愚蠢的做事方式,但如果您找不到更好的答案,您可以执行以下操作:

  1. 此代码片段在 ideone 上。
  2. 点击“编辑”。
  3. 在第 6 行,粘贴您的 SSH 密钥。
  4. 点击绿色的“ideone it”按钮。
  5. 您的指纹将出现在代码下方的输出框中。

对于后人来说,代码(在 Python 3 中)如下所示:

# Code from <https://stackoverflow.com/a/6682934/1535629>
import base64, hashlib

# paste your key on line 6
key = """

"""

def lineToFingerprint(line):
    key = base64.b64decode(line.strip().split()[1].encode('ascii'))
    fp_plain = hashlib.md5(key).hexdigest()
    return ':'.join(a+b for a,b in zip(fp_plain[::2], fp_plain[1::2]))

print(lineToFingerprint(key))

感谢@phihag 在 SO 上

相关内容