Angenommen, ich möchte meine ssh
Optionen für 30 Server mit demselben Setup in meiner .ssh
config
Datei konfigurieren :
host XXX
HostName XXX.YYY.com
User my_username
Compression yes
Ciphers arcfour,blowfish-cbc
Protocol 2
ControlMaster auto
ControlPath ~/.ssh/%r@%h:%p
IdentityFile ~/.ssh/YYY/id_rsa
Das einzige, was sich zwischen diesen 30 Maschinen ändert, ist XXX
.
Gibt config
es eine andere Möglichkeit, einen Bereich von Computern zu definieren, anstatt die obige Struktur 30 Mal in meiner Datei zu wiederholen ?
%h
Funktion in Release 5.6 von OpenSSH erschienen ist . Ich habe mich gefragt, warum ich es noch nie gesehen habe - die Version in Debian Squeeze ist 5.5.config
, können Sie immer nur ein einfaches Skript schreiben, das Ihr Skript generiertconfig
.Um das Setup zu minimieren, können Sie ein
.ssh/config
solches verwendenHost X01 X02 ...
könnte durch ersetzt werden,Host *
wenn jeder Host die folgende Konfiguration hatquelle
Host X01 X02 ...
durch ersetzt werden*.YYY.com
? Das scheint etwas überschaubarer zu sein, wenn es funktioniert.Einfach benutzen
*
Siehe
man ssh_config
:quelle
?
wo immer ich möchte, dass es durch das Muster ersetzt wird, das mit dem*
Zeichen übereinstimmt ?config
Eintrag weiter, die Parameter des Hosts sind jedoch festgelegt (dh Muster können nicht zum Schablonieren der Parameter verwendet werden). Liege ich falsch?Host *
Eintrag zu trennen und für jede einen eigenen Eintrag zu erstellenHost XXX
, der nur aus den Teilen besteht, die variieren (dh derHostname XXX.YYY.ZZZ
Linie).Aus den Antworten von Ignacio Vazquez-Abrams und H.-Dirk Schmitt lässt sich Folgendes zu .ssh / config hinzufügen
und dann können Sie sich beispielsweise als [email protected] über anmelden
quelle
%h
, nicht%h.YYY.com
das funktioniert bei mir:
Dies ermöglicht es einem, Namen innerhalb der Domain zu verwenden und den Benutzernamen ändern zu lassen:
quelle
itslogprd05
in beiden Domänen ein Host vorhanden ist?xxx.auckland.ac.nz
gewinnt, denke ich?