Die Manpage sagt folgendes:
Wirt
Host Beschränkt die folgenden Deklarationen (bis zum nächsten Host-Schlüsselwort) auf diejenigen Hosts, die mit einem der nach dem Schlüsselwort angegebenen Muster übereinstimmen. Wenn mehr als ein Muster bereitgestellt wird, sollten diese durch Leerzeichen getrennt werden. Ein einzelnes "*" als Muster kann verwendet werden, um globale Standardeinstellungen für alle Hosts bereitzustellen. Der Host ist das in der Befehlszeile angegebene Argument für den Hostnamen (dh der Name wird vor dem Abgleichen nicht in einen kanonisierten Hostnamen konvertiert).
Ein Mustereintrag kann negiert werden, indem ein Ausrufezeichen (`! ') Vorangestellt wird. Wenn ein negierter Eintrag übereinstimmt, wird der Host-Eintrag ignoriert, unabhängig davon, ob andere Muster in der Zeile übereinstimmen. Negierte Übereinstimmungen sind daher nützlich, um Ausnahmen für Platzhalterübereinstimmungen bereitzustellen.>
Weitere Informationen zu Mustern finden Sie unter MUSTER.
Hostname
Hostname Gibt den tatsächlichen Hostnamen an, bei dem Sie sich anmelden möchten. Dies kann verwendet werden, um Kurznamen oder Abkürzungen für Hosts anzugeben. Wenn der Hostname die Zeichenfolge "% h" enthält, wird diese durch den in der Befehlszeile angegebenen Hostnamen ersetzt (dies ist nützlich, um nicht qualifizierte Namen zu bearbeiten). Die Standardeinstellung ist der in der Befehlszeile angegebene Name. Es sind auch numerische IP-Adressen zulässig (sowohl in der Befehlszeile als auch in den Hostnamen-Angaben).
Wenn ich zum Beispiel eine SSH-Konfiguration für GitHub erstellen möchte, was sollte Host bzw. HostName sein?
Host
Ist die Zeichenfolge, die der Benutzer beim Aufrufen von SSH als Eingabe für die CLI eingibt.HostName
ist die Zeichenfolge, die der SSH-Client beim Versuch, eine Verbindung zum Server herzustellen, über das Netzwerk ausgibt .Antworten:
Bei github.com
~/.ssh/config
könnte das so aussehenFür hostname: Wie man sagt, können Sie die Abkürzung für host angeben. Zum Beispiel, wenn Sie so
~/.ssh/config
aussehenDann, wenn Sie tippen
ssh host1
Sie melden sich tatsächlich bei host1.example.com anssh host2
Melden Sie sich bei anotherdomain.com anquelle
~/.ssh/config
Beispiel "Hostname" statt "Host" gemeint haben ?Im einfachen Gebrauch:
Host
ist der tatsächliche Hostname und es gibt keineHostName
ODER
Host
ist der Spitzname des Hosts &HostName
ist der tatsächliche Hostname.Einfaches Beispiel:
Hinweis: Die Manpage ist technisch korrekt, sie ist nur etwas seltsam formuliert. Ich möchte der Klarheit halber noch ein paar Worte hinzufügen:
HostName Specifies the real host name to log into. This can be used *TOGETHER WITH 'HOST'* to specify nicknames or abbreviations for hosts.
quelle
Ich wollte vor kurzem etwas mit Host und Hostname machen, habe aber die genaue Syntax vergessen ... aber darüber zu googeln war ein Chaos und die Manpage war nicht allzu hilfreich. Unter der Annahme, dass es andere gibt, die das gleiche Bedürfnis haben, sind hier meine Leckerbissen.
Host gibt das Befehlszeilenargument an und kann als a) tatsächlicher Hostname / IP, b) Kurzform, c) Alias angesehen werden. Der Hostname ist der tatsächliche Hostname / die IP-Adresse des Computers, mit dem Sie eine Verbindung herstellen. Im Feld Hostname können Sie% h als Hostnamen-Zeichenfolge verwenden, die Sie in der Befehlszeile angeben. (Dies war der Teil, den ich in meinem Beispiel verwenden wollte.)
Angenommen, Sie haben eine Reihe von Hosts, deren Hostname mit my-proj-host -... beginnt und die sich alle in der Domäne .my.proj.domain.com befinden, und bei denen ich mich mit einem bestimmten SSH-Schlüssel anmelden muss my-proj-id-rsa und spezifische Benutzer-ID my-proj-user. Um mir das Leben zu erleichtern, füge ich der Datei ~ / .ssh / config Folgendes hinzu
Jetzt kann ich eintippen
Ohne die Konfiguration wäre das gewesen
Ein bisschen Tipparbeit (und Tippfehler) sparen.
quelle