Wie in anderen Antworten erwähnt, werden IP-Adressbereiche von known_hosts nicht unterstützt. Platzhalter werden jedoch unterstützt. Natürlich sind Wildcards nicht ganz dasselbe. Sie müssen also sehr vorsichtig sein, wie Sie sie in IP-Adressen verwenden, aber im speziellen Fall von Github können Sie dies sicher tun.
Die Situation scheint einfacher geworden zu sein, seitdem die Frage gestellt wurde. Laut der offiziellen Dokumentation von Github wird nur ein IP-Adressbereich verwendet (zumindest was IPv4 betrifft). Dies ist der Bereich 192.30.252.0/22. Das ergibt 1020 mögliche IP-Adressen, die bequemerweise den gesamten möglichen Bereich für das letzte Oktett in nur vier verschiedenen C-Blöcken abdecken.
Ab hier man 8 sshd
müssen wir in known_hosts mit Folgendem arbeiten:
Hostnamen ist eine durch Kommas getrennte Liste von Mustern ( *' and
? 'Dienen als Platzhalter); Jedes Muster wird wiederum mit dem kanonischen Hostnamen (bei der Authentifizierung eines Clients) oder mit dem vom Benutzer angegebenen Namen (bei der Authentifizierung eines Servers) abgeglichen. Einem Muster können auch !' to indicate negation: if the host name matches a negated pattern, it is not accepted (by that line) even if it matched another pattern on the line. A hostname or address may optionally be enclosed within
['und ]' brackets then followed by
:' und eine nicht standardmäßige Portnummer vorangestellt werden .
Mit diesen Informationen können wir einen Eintrag mit dem Platzhalter * für das letzte Oktett erstellen, der mit allen möglichen Github-Endpunkten (und NUR diesen Endpunkten) wie folgt übereinstimmt:
github.com,192.30.252.*,192.30.253.*,192.30.254.*,192.30.255.* ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
Wenn der IP-Bereich, den Sie erstellen mussten, nicht einen vollständigen C-Block und damit alle möglichen Werte für ein Oktett füllen würde, wäre es unmöglich, Platzhalter für eine so genaue Übereinstimmung zu verwenden.