快速业务通道

利用OpenSSH version 5.4 设置证书授权密钥

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-03-24

作者:Michael Brown E

自去年推出的数个版本开始,OpenSSH提供一个有趣的新特性,即支持证书授权.这是一个非常有用并且易于实施的选项,但它会带来一些小小的麻烦,它还非常新颖,难以找到任何验证文档.本文的目的是举例说明如何设置证书授权密钥,提供一些有帮助的说明.您可以从中看出该过程是多么的简单.

这是怎样的一种特性?

长期以来,传统的OpenSSH支持创建用于个人账户登陆的公共密钥和私有密钥对.其主要特点是:每个用户密钥的公共部分被拷贝到您所希望登入的服务器.这多少会成为管理或审计的负担.而全新的证书授权(Certificate Authority,CA)特性则能减轻该负担.它允许管理员将单一的CA密钥拷贝到每台服务器,然后,该服务器允许CA所签发的任何用户密钥登入自身,从而大大简化每台服务器的管理工作.

CA特性可用于用户认证和主机认证.本博文将举出一个用户认证的例子.主机认证的方式与之非常相似,您可从参考资料中看到具体例子.主机认证的有用之处在于:无需接受每台主机密钥,即可确保所有主机的真实有效性得到验证.每个ssh用户都熟悉这样的提升消息“无法确立主机‘ABC (10.0.0.2)’的真实有效性”(The authenticity of host ''ABC (10.0.0.2)'' can''t be established),它往往在您首次登入一台机器时弹出来.而CA主机密钥可让这条消息不再出现.

设置一个CA密钥

要做的就是设置您的CA密钥.其创建方法跟任何普通ssh密钥相同,使用ssh-keygen命令,以及使用您常用于普通密钥的任何选项.

创建您的CA密钥:

$ ssh-keygen -f user-ca-key

将您的服务器设置为信任该CA密钥.您可以逐个账户这样做,也可以对整台服务器这样做.

Empire CMS,phome.net

(个别账户):为了让您的CA所签发的任何密钥能够登陆某个特定账户,您可使用已有的~/.ssh/authorized_keys文件.您只需置入CA公共密钥,但要给它加上前缀“cert-authority”指令.以下指出了如何用一个命令实现这一点:

$ echo "cert-authority $(cat user-ca-key.pub)" >> ~/.ssh/authorized_keys

(整台服务器):为了让您的CA密钥所签发的用户密钥能够登入系统上的任何(*)账户,只需向您的/etc/ssh/sshd_config文件增加命令行“TrustedUserCAKeys /etc/ssh/user-ca-key.pub”,然后将user-ca-key.pub文件拷贝到服务器上的/etc/ssh/.(*)当您用CA密钥签发个别密钥时,您可以指定允许该密钥登入的账户的清单,这样,您就可以控制哪些用户能够登入哪些账户.

(可选):如果您还没有普通用户密钥,则创建一个吧.这步遵循创建密钥的正常过程,当然您也可以使用您所拥有的任何已存在的密钥.注:既然我们使用CA登入,我们不再需要将公共密钥拷贝到服务器,这正是我们想要达到的目的.

$ ssh-keygen -f random-user-key

使用CA密钥签发用户密钥.

$ ssh-keygen -s user-ca-key -I "Bob User''s key" -n bob_user,bob -V 52w /path/to/id_rsa.pub

注:

  1. 签发用户密钥时,使用“-n”选项指定该密钥所能访问的账户,使用“-I”指定用户详细情况.
  2. 签发用户密钥时,例如id_rsa.pub,它会创建一个名为id_rsa-cert.pub的分离的证书文件,用于ssh客户端登入.

现在您可使用用户密钥登入服务器.ssh客户端程序将自动使用它所找到的-cert.pub文件,向服务器发送证书信息.

Empire CMS,phome.net

安全性

全新的CA密钥使用口令加以保护,并保存在安全的位置.如果任何第三方得到该密钥,他们可以使用CA无限制地访问任何机器.

当前OpenSSH CA的局限性

一直以来,CA被视为多级实体,其中,由顶级授权体签发个别证书,个别证书又可以反过来签发子实体证书.OpenSSH当前不支持多

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号