Ist diese SSH-Konfiguration falsch konfiguriert und stellt sie ein Sicherheitsrisiko dar?

Ist diese SSH-Konfiguration falsch konfiguriert und stellt sie ein Sicherheitsrisiko dar?

BEARBEITEN:Siehe Antwort unten, meine Annahmen waren falsch.

Wenn ich Folgendes in meiner SSH-Konfiguration ( ~/.ssh/configunter OS X) habe, stellt das ein Sicherheitsrisiko dar?

Host *
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/my-secret-key.pem

Nach meinem Verständnis würde ich meinen geheimen Schlüssel an jeden Host senden, bei dem ich mich sshanmelde. Ist das richtig? Wenn ja, ist das ein Sicherheitsrisiko? Könnte der Host theoretisch versuchen, meinen geheimen Schlüssel zu verwenden, um sich bei einigen wichtigen SSH-Hosts (wie GitHub) anzumelden?

Wenn ich angebe HostName, gehe ich dann richtig davon aus, dass der Schlüssel nur an diesen Host gesendet wird:

Host *
  HostName github.com
  AddKeysToAgent yes
  UseKeychain yes
  IdentityFile ~/.ssh/my-secret-key.pem

Deroffizielle Dokumente zum Einrichten von SSH für GitHubscheint vorzuschlagen, die erste Konfiguration zu verwenden ...

Antwort1

SSH funktioniertnichtSenden Sie Ihre privaten Schlüssel an den Server. Der Mechanismus basiert auf Berechnungen mit dem, was die Entität besitzt - der Server berechnet etwas auf der Grundlage des öffentlichen Schlüssels, der Client auf der Grundlage des privaten Schlüssels (siehedieser Information Security Stack Exchange-Beitragfür mehr).

Unabhängig davon, ob Sie die Schlüssel zum Agenten hinzufügen oder nicht, probiert SSH alle Schlüssel aus, bis einer erfolgreich ist. Sofern Sie keine Agentenweiterleitung eingerichtet haben, gibt es meiner Meinung nach keine Möglichkeit, irgendetwas auf demServerum die dem Agenten hinzugefügten Schlüssel verwenden zu können.


Host *
  HostName github.com
  AddKeysToAgent yes

Dadurch wird der Wert Hostnamevon jedem Hostauf gesetzt github.com, was Sie mit Sicherheit nicht tun möchten (das bedeutet, dass ssh foo.bareine Verbindung zu hergestellt wird github.com). Wenn Sie eine Konfiguration nur auf Verbindungen zu anwenden möchten github.com, verwenden Sie dies als HostMuster:

Host github.com
    IdentityFile ~/.ssh/my-secret-key.pem

Ob es ein Sicherheitsrisiko darstellt, hängt davon ab, gegen wen Sie sich verteidigen. Wenn Ihre SSH-Schlüssel kennwortgeschützt sind und jemand anderes auf den SSH-Agenten Ihres Systems zugreifen kann, werden alle kennwortgeschützten Schlüssel für den Zugriff freigegeben, sobald sie dem Agenten hinzugefügt werden.

Ich würde aber sagen, dass diese Bedrohung unwahrscheinlich ist.

verwandte Informationen