Bei der Arbeit muss ich mich oft bei Hosts anmelden, die einem gemeinsamen Benennungsschema folgen, z. B. qc01
- qc12
, hc01
- hc10
und so weiter. Alle diese müssen die gleichen Konfigurationswerte in meinem Laptop erhalten .ssh/config
. Natürlich könnte ich Einträge für die Hosts verwenden qc*
und hc*
, aber ich frage mich, ob es stattdessen irgendwie möglich ist, reguläre Ausdrücke zu verwenden?
ssh
regular-expression
andreas-h
quelle
quelle
man ssh_config
.Sie können vollständige reguläre Ausdrücke in Ihrem verwenden
ssh_config
.Die entsprechende Dokumentation ist nach IMO sehr schwer zu lesen und zu verstehen. Ich verstehe es nur, weil ich über 13 Jahre Linux-Erfahrung und über 8 Jahre Erfahrung im Umgang mit Linux habe
ssh
. Also hier ist meine Zusammenfassung der Dokumentation:man ssh_config
beschreibt ein Feature namensMatch
exec
, mit der Sie einen beliebigen Shell-Befehl zum Bestimmen einer Übereinstimmung verwenden könnenTOKENS
In meinem Fall habe ich folgendes verwendet
~/.ssh/config
:Das Testen muss mit etwas Schwierigem wie diesem durchgeführt werden. Und um das zu testen, rufst du an
ssh -vvv HOSTNAME
. Welches wird genau zeigen, was passiert, und ob Ihr neuesMatch
richtig implementiert ist.quelle
Die Antwort von Trevor erweitern:
Es sind auch komplexere Hosts wie Matching
foo123.123
undfoo10.10
in einer Regel OHNE DNS-Einträge für die verwendeten Hostnamen möglich:Verwenden Sie den ProxyCommand, um den Inhalt von% h mit der Shell zu bearbeiten und über ein Netcat eine Verbindung zum richtigen Port herzustellen. Auf diese Weise können Sie Voreinstellungen für die Kategorie der Hosts erstellen , ohne einzelne Einträge zu erstellen.
quelle