CA 签发用户证书

下面,再用 CA 签发用户证书。这时需要用户的公钥,如果没有的话,客户端可以用下面的命令生成一对密钥。

$ ssh-keygen -f ~/.ssh/user_key -b 4096 -t rsa

上面命令会在~/.ssh目录,生成user_key(私钥)和user_key.pub(公钥)。

然后,将用户公钥user_key.pub,上传或复制到 CA 服务器。接下来,就可以使用 CA 的密钥user_ca为用户公钥user_key.pub签发用户证书。

$ ssh-keygen -s user_ca -I user@example.com -n user -V +1d user_key.pub

上面的命令会生成用户证书user_key-cert.pub(用户公钥名字加后缀-cert)。这个命令各个参数的含义如下。

  • -s:指定 CA 签发证书的密钥
  • -I:身份字符串,可以随便设置,相当于注释,方便区分证书,将来可以使用这个字符串撤销证书。
  • -n user:指定用户名,表示证书仅对该用户名有效。如果有多个用户名,使用逗号分隔。用户以该用户名登录服务器时,SSH 通过这个值,分辨应该使用哪张证书,证明自己的身份,发给服务器。
  • -V +1d:指定证书的有效期,这里为1天,强制用户每天都申请一次证书,提高安全性。默认情况下,证书是永远有效的。
  • user_key.pub:用户公钥。

生成证书以后,可以使用下面的命令,查看证书的细节。

$ ssh-keygen -L -f user_key-cert.pub

最后,为证书设置权限。

$ chmod 600 user_key-cert.pub
© 2017~ 随风逐叶 all right reserved,powered by Gitbook文章修订时间: 2021-04-25 12:03:43

results matching ""

    No results matching ""