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?

ΘεΘφιλος Μουρατίδης
quelle

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.

Magnet
quelle
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