Ich habe test.example.com in meinen DNS-Suchdomänen. Wenn ich eine ssh server01
Verbindung herstelle, wird wie erwartet eine Verbindung zu meinem Server hergestellt. Es folgt jedoch nicht meinen ssh_config-Regeln, da es nicht übereinstimmt:
Host *.test.example.com
User djimenez
ForwardAgent yes
Kein Problem, ich werde eine Wildcard hinzufügen!
Host *
User djimenez
ForwardAgent yes
Dies gilt jedoch für jeden Host. Nicht nur kurze DNS-Namen (wenn Sie so wollen, keine vollqualifizierten Domänennamen).
Meine Frage, gibt es überhaupt eine Hostregel zu erstellen, die nur kurzen DNS-Namen entspricht? Oder noch besser wäre, wenn es einen magischen Weg für ssh gäbe, den vollqualifizierten Domänennamen vom DNS zu erhalten (falls ich mehrere Suchdomänen habe).
Host * !*.*
. Vielen Dank!ssh_config
ManpageIf a negated entry is matched, then the Host entry is ignored, regardless of whether any other patterns on the line match
zufolge der Versuch, aufhost-01.test.example.com
den Block zuzugreifen , nicht mit dem Block übereinstimmt, da er durch das!*.*
Muster "ausgeschlossen" wird .In
ssh_config
der Manpage heißt es: "Der Host ist das in der Befehlszeile angegebene Argument hostname (dh der Name wird vor dem Abgleichen nicht in einen kanonisierten Hostnamen konvertiert)."Eine Möglichkeit, dies zu umgehen, besteht darin, ein Wrapper-Skript zu erstellen, das den von Ihnen angegebenen Hostnamen nach Möglichkeit zunächst auf einen vollqualifizierten Domänennamen erweitert und anschließend an ssh weiterleitet (siehe z. B. https://serverfault.com/questions/567272/expand-hostnames-). to-fqdn-before-calling-ssh
quelle