Wie kann ich die IP-Adresse eines Hosts ermitteln, an den somename
ich mich wenden kann ssh
? Wenn ich nslookup
auf diesem Host mache , heißt es "keine Antwort". Wie kann ssh
der Name dann aufgelöst werden?
Weder Erklärung /etc/hosts
noch .ssh/config
gearbeitet.
BEARBEITEN
Sorry somename
ist voll qualifiziert.
ssh somename.somedomain
funktioniert, während
ping somename.somedomain
und
nslookup somename.somedomain
nicht
/etc/hosts
oder aufgeführt~/.ssh/config
?somename.local
..local
ist eine spezielle Domain für mDNS. Für LLMNR können Sie dieses NMAP-Skript verwenden.Antworten:
Nslookup ist ein Programm zum Abfragen von Internetdomänennamenservern . Nslookup eignet sich sehr gut zum Abfragen von DNS-Servern, bietet jedoch nicht das gesamte Bild für die Namensauflösung.
Unter Linux wird die Namensauflösung am häufigsten von NSS gesteuert, das von konfiguriert wird
/etc/nsswitch.conf
. Insbesondere enthält diese Konfiguration einenhosts
Eintrag. Beispielsweise:Im obigen Eintrag können Sie sehen, dass dem ersten abzufragenden Element
files
folgtdns
, was bedeutet, dass/etc/hosts
es vor DNS abgefragt wird. Weitere Optionen sind LDAP , Multicast-DNS und WINS .Wenn SSH Ihre Frage direkt beantwortet, wird der Hostname mithilfe von NSS in eine IP-Adresse aufgelöst (Ergebnisse werden aus mehreren Quellen abgerufen), wobei nslookup nur den DNS abfragt.
Sie können überprüfen, welche IP NSS einen Hostnamen in getent auflöst. Zum Beispiel zum Auflösen
somename
:Auch im Falle von SSH können Sie hostspezifische Informationen in
/etc/ssh/ssh_config
und konfigurieren~/.ssh/config
. Auf diese Weise können Sie sogar eine IP-Adresse für einen Hostnamen angeben und dabei die Namensauflösung vollständig überspringen:Das Folgende weist SSH an,
192.168.1.25
sowohl fürdev
als auch zu verwendendev.example.com
. SSH verwendet diese Adresse, unabhängig davon, ob diese Namen als DNS-Namen für eine andere IP existieren:quelle
Verwenden Sie das ausführliche Flag (
-v
) desssh
Befehls:Die Ausgabe sollte unter anderem eine Zeile enthalten, die die aufgelöste IP des Servers anzeigt, zu dem Sie eine Verbindung herstellen:
Die wahrscheinlichste Ursache für
ssh
das Auflösen eines Hostnamens, dernslookup
nicht aufgelöst werden kann, ist die Konfiguration auf derssh
Ebene.Auf der
ssh_config(5)
Handbuchseite gibt es drei Stellen, an denenssh
nach Konfigurationsdateien gesucht wird:Eine dieser Dateien kann Ihren Hostnamen
somename
(oder ein dazu passendes Muster) als Alias eines anderen Hostnamens oder einer anderen IP-Adresse enthalten. Beispielsweise:Weitere Informationen finden Sie auf der
ssh_config(5)
Handbuchseite mit ErklärungenHost
undHostName
Anweisungen sowie imPATTERNS
Abschnitt.quelle
ssh user@someserver
dem dersomeserver
DNS-Name "aufgelöst" zu werden scheint (auch wenn dies nicht tatsächlich der Fall ist). Wenn dasHost someserver
in.ssh/config
Datei konfiguriert ist, ist es dann möglich, den Befehl ssh genau als OP-Status zu verwenden, auch wenn sich das überhauptsomeserver
nicht im DNS befindet.ssh -v somename
enthält die IP-Adresse (unabhängig von etwaigenssh_config
Einträgen). Es beantwortet also direkt die Frage "Wie kann ich die IP-Adresse eines Host-Somenamens ermitteln, zu dem ich ssh kann?"Philip ist fast da, aber er geht das
.ssh/config
Loch runter, das Sie wahrscheinlich nicht konfiguriert haben.Die Befehle ...
... fragt NSS über die
hosts:
Lookup-Zeile ab/etc/nsswitch.conf
und nicht nur über DNSnslookup
. Es ist wahrscheinlich, dass Ihre Unix-Umgebung mehr als einen Namensdienst verwendet. möglicherweise irgendeine Art von AD-Integration.quelle
host
ist normalerweise Teil von bind-utils (oder gleichwertig) und wie beidesnslookup
unddig
verwendet nur DNS. OTOHgetent hosts
(oder möglicherweiseahosts
) macht das, was Sie beschreiben.host
fragt andere Namensdienste ab. Einverstandengetent hosts
ist dies die beste eindeutige Methode, um "alle konfigurierten Namensdienste" abzufragen.host
ist laut Handbuch nur DNS-fähig und wird durch Tests auf den von mir verwendeten Systemen (CentOS, Ubuntu, FreeBSD, Solaris) sowie im Upstream bestätigt . Siehe auch die (nahen) Dummköpfe, die ich zum Q kommentiert habe und die dies auch sagen.