Muszę skonfigurować rekordy SSHFP w DNS dla mojego hosta. Przeszukałem trochę, ale nie znalazłem dobrego przykładu.
- Co to są rekordy SSHFP?
- Jak wyglądają rekordy SSHFP?
- Jak utworzyć rekordy SSHFP?
Rekordy RR SSHFP to rekordy DNS zawierające odciski palców dla kluczy publicznych używanych do SSH. Są one najczęściej używane z domenami obsługującymi DNSSEC. Gdy klient SSH łączy się z serwerem, sprawdza odpowiedni rekord SSHFP. Jeśli odcisk palca rekordów pasuje do serwerów, serwer jest legalny i można się z nim bezpiecznie połączyć.
Rekordy SSHFP składają się z trzech rzeczy:
Istnieją cztery różne algorytmy zdefiniowane w SSHFP od 2015 r . Każdy algorytm jest reprezentowany przez liczbę całkowitą. Algorytmy to:
Dwa typy odcisków palców są zdefiniowane w SSHFP od 2012 r . Każdy typ odcisku palca jest reprezentowany przez liczbę całkowitą. To są:
Możesz użyć ssh-keygen
do wygenerowania rekordów za pomocą -r
parametru, po którym następuje nazwa hosta (co nie wpływa na odciski palców, więc możesz zamiast tego określić, co chcesz)
Korzystanie ssh-keygen
i CentOS:
[root@localhost ~]# ssh-keygen -r my.domain.com
my.domain.com IN SSHFP 1 1 450c7d19d5da9a3a5b7c19992d1fbde15d8dad34
my.domain.com IN SSHFP 2 1 72d30d211ce8c464de2811e534de23b9be9b4dc4
Czasami ssh-keygen
poprosi o lokalizację certyfikatu publicznego. Jeśli pojawi się monit, będziesz musiał uruchomić ssh-keygen
wiele razy i za każdym razem określ inny certyfikat, aby mieć pewność, że wygenerujesz wszystkie niezbędne rekordy SSHFP. Twoje klucze publiczne zwykle znajdują się w /etc/ssh
.
Uwierzytelnianie nazwanych podmiotów (DANE) na podstawie DNS ( RFC 6698 ) jest potencjalnym następcą RR SSHFP. DANE jest bardzo podobny do SSHFP RR, ale nie ogranicza się do SSH. Zamiast tegoużywa TLSA RR z bardzo podobnym formatem.
ssh-keygen -r
obsługuje również rekordy typu ed25519 (używając eksperymentalnego numeru 4 z iana iana.org/assignments/dns-sshfp-rr-parameters/... )Nie jestem pewien, czy
ssh-keygen
działa z istniejącymi kluczami. Jeśli nie, nadal możesz łatwo złożyć je w swojej powłoce (co wolę) i bez wymyślnego oprogramowania lub zdalnych interfejsów.Rekordy takie jak wspomniane ...
... składa się z 6 części:
Aby z niego skorzystać
VerifyHostKeyDNS ask
, zwykle należy skonfigurować konfigurację klienta SSH~/.ssh/config
.źródło
ssh-keygen -r
nie generuje rekordy SSHFP dla istniejących kluczy pomimo faktu, że nazwa polecenia sugeruje to tylko do generowania.Starsze wersje ssh-keygen nie generują wszystkich dostępnych kluczy (np. Brak obsługi ecdsa i sha256). Ten skrypt tworzy wszystkie rekordy dla wszystkich dostępnych kluczy w
/etc/ssh/
:Edycja: Nowa wersja z PR od Alex-Dupuy z obsługą * BSD.
https://github.com/mindfuckup/Scripts/blob/master/sshfpgen
źródło
Jeśli używasz Puppet,
facter
ma wbudowaną obsługęsshfp
. Dodatkowo, jeśli używasz PuppetDB, możesz łatwo wyodrębnić te informacje dla wszystkich swoich hostów.Źródło
źródło
W ten sposób otrzymuję moje rekordy SSHFP przez Ansible :
źródło