我已经向用户询问了他们的公共“id_rsa.pub”ssh密钥,然后我将其放在“/home/theiraccount/.ssh/authorized_keys”中,以便他们可以通过SSH登录服务器。我想自动完成这个过程。
是否有理智检查他们给我的字符串(以编程方式或其他方式)?我想验证sshd是否可以读取文本,并且它实际上看起来像一个有效的公钥(并且没有被破坏)?
换句话说,id_rsa.pub
文件的格式是什么?如果有人在字段中输入,我可以在表单处理程序脚本中编写哪些内容来验证它是否完整且正确?
答案 0 :(得分:30)
ssh-keygen
可用于计算密钥文件的指纹,如果您没有传递密钥,则会失败:
ssh-keygen -l -f id_rsa.pub
另一种可能性是ssh-vulnkey
,这样可以同时检查密钥与已知受损密钥的黑名单。