# 准备

  • Yubikey & Canokey
  • yubico-piv-tool & ykman
  • WinCryptSSHAgent (Windows Only)

# 生成私钥及证书

# CA 私钥和证书

openssl genpkey -algorithm RSA -out ca_private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -x509 -key ca_private_key.pem -out ca_cert.pem -days 3650 -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=XXX/OU=XXX/CN=taoidle"

# RSA 私钥和 CSR

openssl genpkey -algorithm RSA -out rsa_private_key.pem -pkeyopt rsa_keygen_bits:2048
openssl req -new -key rsa_private_key.pem -out csr.pem -subj "/C=CN/ST=Guangdong/L=Guangzhou/O=XXX/OU=XXX/CN=taoidle"

# 使用 CA 签发 CSR

openssl x509 -req -in csr.pem -CA ca_cert.pem -CAkey ca_private_key.pem -CAcreateserial -out signed_cert.pem -days 3650

# 证书验证

# CSR 验证

openssl req -in csr.pem -noout -text

# 验证生成证书

openssl x509 -in signed_cert.pem -noout -text

# 证书链验证

openssl verify -CAfile ca_cert.pem signed_cert.pem

# 自签证书链验证

openssl verify -CAfile signed_cert.pem signed_cert.pem
  • ca_private_key.pem :CA 私钥。
  • ca_cert.pem :自签名 CA 证书。
  • rsa_private_key.pem : RSA 私钥。
  • csr.pem :证书签名请求。
  • signed_cert.pem :CA 签发的证书。

# Yubikey PIV

# yubico-piv-tool

# 导入私钥

yubico-piv-tool -a import-key -s 9a -i rsa_private_key.pem

# 导入证书

yubico-piv-tool -a import-key -s 9a -i signed_cert.pem

# ykman

  • 把 rsa_private_key.pem、signed_cert.pem cat 出来,对应到私钥、证书,输入后留空一行然后 ctrl+c 取消后输入 pin

# 导入私钥

ykman piv keys import 9a -

# 导入证书

ykman piv certificates import 9a -

# Canokey PIV

# yubico-piv-tool

# 导入私钥

yubico-piv-tool -r canokey -a import-key -s 9a -i rsa_private_key.pem

# 导入证书

yubico-piv-tool -r canokey -a import-key -s 9a -i signed_cert.pem

# ykman

  • 把 rsa_private_key.pem、signed_cert.pem cat 出来,对应到私钥、证书,输入后留空一行然后 ctrl+c 取消后输入 pin

# 导入私钥

ykman -r canokey piv keys import 9a -

# 导入证书

ykman -r canokey piv certificates import 9a -

# SSH 自动登录

# Windows

下载 WinCryptSSHAgent,启动后右键托盘图标 , show public key 。将公钥放到服务器.ssh/authorized_keys

更新于 阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Taoidle 微信支付

微信支付

Taoidle 支付宝

支付宝