Cara mencabut sertifikat ssh (bukan file identitas ssh!)

13

Saya telah membuat sertifikat ssh seperti ini:

  1. ssh-keygen -f ca_key # hasilkan ssh keypair untuk digunakan sebagai sertifikat
  2. menghasilkan kunci host ssh-keygen -s ca_key -I cert_identifier -h host_key.pub
  3. tentukan kunci host di file konfigurasi sshd server: TrustedUserCAKeys /etc/ssh/ssh_cert/host_key.pub
  4. menghasilkan sertifikat lokal untuk mengakses host menggunakan sertifikat ssh: ssh-keygen -s ca_key -I cert_identifier user_key.pub. Ini harus menghasilkan user_key-cert.pub

Sekarang saya bisa masuk ke server menggunakan ssh -i user_key user@host(yang menggunakan user_key-cert.pub). Bagaimana saya bisa mencabut sertifikat selain menonaktifkan file TrustedUserCAKeys?

rorycl
sumber
Ada diskusi tentang ini pada daftar openssh di sini gossamer-threads.com/lists/openssh/dev/… - Saya tidak berpikir ada cara yang elegan untuk mencabut sertifikat.
rorycl

Jawaban:

13

sshd_config memiliki file RevokedKeys. Anda dapat membuat daftar beberapa kunci atau sertifikat di dalamnya, satu per baris. Di masa depan, OpenSSH akan mendukung pencabutan dengan nomor seri sertifikat, yang akan membuat daftar pencabutan yang jauh lebih kecil.

Damien Miller
sumber
-3

Ini mungkin menarik bagi Anda:

CARevocationFile /path/to/bundle.crl File ini berisi beberapa "Daftar Pencabutan Sertifikat" (CRL) dari penandatangan sertifikat dalam format PEM yang disatukan.

CARevocationPath / path / ke / CRL / "Hash dir" dengan "Daftar Pencabutan Sertifikat" (CRL) dari penandatangan sertifikat. Setiap CRL harus disimpan dalam file terpisah dengan nama [HASH] .r [NUMBER], di mana [HASH] adalah nilai hash CRL dan [NUMBER] adalah bilangan bulat mulai dari nol. Hash adalah hasil dari perintah seperti ini: $ openssl crl -in crl_file_name -noout -hash

(3 Google hit pertama pada pencarian untuk "ssh ca revoke" ...)

draeath
sumber
sertifikat ssh tidak menggunakan sertifikat format PEM tetapi formatnya sendiri, jadi ini tidak akan berfungsi.
rorycl
OpenSSH tidak mengimplementasikan CARevocationFile terakhir kali saya periksa (mungkin baru saja berubah).
Chris S
1
Hmm, kamu benar. Saya rasa ini tidak mungkin.
draeath