Vereinfachen Sie SSH-Hostnamen mit Platzhaltern


0

Ich habe viele Server mit Namen, die auf 001, 002, 003 enden, und ich möchte sie in etwas Einfacheres umbenennen. etwas wie das:

Host server*
User user
HostName server-xxx-yyy-zzz-*

Host client*
User user
HostName client-xxx-yyy-zzz-*

Und dann ssh server001wird wie ausgeführtssh server-xxx-yyy-zzz-001

Gibt es eine Möglichkeit, dies nur mit ssh-config zu tun? kann ich in / etc / hosts ein wenig manövrieren? oder muss ich ein script erstellen um die config für jeden host zu generieren?

Antworten:


1

Ich habe das gleiche Problem und gebe die neuen Namen ein, /etc/hostsweil ich sie auch brauche:

  • als pingZiele
  • in Browser-URLs (Administratorkonsolen oder Testserver)
  • in DB-Verbindung
  • in Git-URLs.

Sobald Sie dies getan haben, benötigen Sie nur noch einen allgemeinen Eintrag in ~/.ssh/config:

Host client* server*
    User username
    IdentityFile ~/.ssh/id_rsa # if the same everywhere

Natürlich werden Sie von SSH für jeden neuen Namen einmal belästigt, um den Host-Schlüssel zu known_hosts hinzuzufügen.


Ich frage, ob dies mit Platzhaltern oder etwas Kurzem und Klugem möglich ist. Wenn ich 1k Hostnamen /etc/hosts~/.ssh/config/etc/hosts
einspeichere, verschiebe

Sie haben nicht "viele" definiert :) Alles, was ich erraten konnte, war 1 < several < many < billions. Sie möchten also Ihr eigenes DNS mit einem bestimmten Code ausführen, um Namen im Handumdrehen zu ersetzen und die Anforderung an das offizielle DNS weiterzuleiten. Aber ich weiß nicht, ob solch ein DNS existiert.
Xenoid
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.