【发布时间】:2024-04-11 10:10:02
【问题描述】:
我可以使用什么正则表达式(如果有)来验证给定的字符串是合法的 ssh rsa 公钥?
我只需要验证实际的密钥 - 我不关心它之前的密钥类型或它之后的用户名注释。
理想情况下,也有人会提供 python 代码来运行正则表达式验证。
谢谢。
【问题讨论】:
-
正如 David 所指出的,检查字符串是否只包含有效的 Base64 字符是一个开始,但即使这样也不能确保它是一个有效的 SSH 密钥。由于密钥本质上是二进制数据(Base64 格式),我认为正则表达式根本不是验证密钥的合适工具。
-
你为什么认为你需要这样做?
-
@Callahad - 我想在我的自动系统放入 authorized_keys 文件之前确保它是一个有效的密钥。
-
另请参阅pypi.python.org/pypi/sshpubkeys 了解验证 ssh-rsa、ssh-dss、ssh-ed25519 和 ecdsa 密钥的 python 包(不仅仅是完整性检查,它实际上包括验证密钥格式和规范合规性)。免责声明:我是作者。
标签: python regex validation ssh-keys