网络上是否有任何工具可以将 SSH 公钥转换为指纹。由于某些情况,我无法运行 ssh-keygen -lf 命令。
或者腻子中是否有我可以使用的选择?
答案1
这是一种非常愚蠢的做事方式,但如果您找不到更好的答案,您可以执行以下操作:
- 去此代码片段在 ideone 上。
- 点击“编辑”。
- 在第 6 行,粘贴您的 SSH 密钥。
- 点击绿色的“ideone it”按钮。
- 您的指纹将出现在代码下方的输出框中。
对于后人来说,代码(在 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))