Weiterleitung des SSH-Agenten schlägt bei 6 Schlüsseln fehl


1

Mein Client ist Mac OS X 10.9.5. Ich habe einen Bastion Host (Linux), in den ich ssh'ng bin. Ich habe eine Agentenweiterleitung, damit ich zum Bastion-Host ssh und dann auf einen anderen Computer ssh kann, ohne meinen privaten Schlüssel auf der Bastion speichern zu müssen.

Mein Problem ist, dass ich in meinem SSH-Speicher (SSH-Add-L) auf meinem Client-Computer 7 Tasten gedrückt habe. Wenn ich versuche, die Agentenweiterleitung für Computer mit dem 7. Schlüssel zu verwenden, schlägt dies fehl, weil "Zu viele Authentifizierungsfehler für" aufgetreten sind. Wenn -vvv aktiviert ist, wird dies im send_pubkey_test angezeigt, wenn der 6. Schlüssel angeboten wird stoppt. Die 7. Taste wird nie angeboten. Unten ist ein Ausschnitt der 6. Taste und ein Fehler.

  • debug3: send_pubkey_test
  • debug2: wir haben ein publickey-paket gesendet, warte auf antwort
  • debug1: Authentifizierungen, die fortgesetzt werden können: publickey
  • debug1: Bietet einen öffentlichen RSA-Schlüssel an: xxxx.pem
  • debug3: send_pubkey_test
  • debug2: wir haben ein publickey-paket gesendet, warte auf antwort
  • Verbindungstrennung von 10.0.1.240 erhalten: 2: Zu viele Authentifizierungsfehler für ec2-Benutzer

Ich habe verschiedene Lösungen ausprobiert, aber mir muss etwas fehlen.

Auf dem Client verwende ich eine Konfigurationsdatei. In diesem wird der Bastion Host folgendermaßen eingestellt:

host jump01
  ForwardAgent yes
  Hostname www.example.com
  User some-user
  IdentityFile bastion.pem
  IdentitiesOnly yes

Ich habe versucht, die anderen Server im Client in der Konfigurationsdatei einzurichten. Unten ist das Beispiel. Wenn auf dem Bastion Server, versuche ich ssh internal.IP und es schlägt fehl "zu viele Authentifizierung:"

host internal.IP
  IdentityFile key.pem
  IdentitiesOnly yes

Ich habe versucht, eine Konfiguration auf dem Bastion-Server einzurichten, um die Verwendung der Datei und der Identitäten zu erzwingen. Aber da ich meinen privaten Schlüssel nicht da draußen haben möchte, schlägt dies fehl.

Außerdem habe ich versucht, den öffentlichen Schlüssel für das PEM zu verwenden und auf den Bastion-Server im Verzeichnis .ssh zu kopieren. Verwenden Sie dann -i name.pub in der Befehlszeile. Das hat nicht funktioniert. Es schien, als würde der Kneipenschlüssel wie ein Pem behandelt.

Meine Problemumgehung besteht darin, ein Skript zu schreiben, um die Schlüssel nach Bedarf zu laden / löschen. Ich denke immer wieder an die Weiterleitung von SSH-Agenten, es muss eine Lösung geben, die mir fehlt.

Schätzen Sie jede Anleitung.

Antworten:


1

Es wäre mir lieber, wenn dies ein Kommentar zu der Frage wäre, aber ich habe nicht den Repräsentanten ...

Warum hast du 7 Schlüssel? Ich habe Leute gesehen, die dachten, es sei sicherer, aber nicht. Wenn Ihr Client kompromittiert ist, sind alle Schlüssel kompromittiert. Vielleicht haben Sie einen berechtigten Grund, möchten aber nur sicherstellen, dass Sie nicht mehr Probleme verursachen, als Sie lösen.


Das ist ein guter Punkt. Ich dachte einen anderen Schlüssel pro Schicht. Die Webebene hätte also einen Schlüssel, die App-Ebene einen Schlüssel ... usw. Dies wären weniger als 6 Schlüssel gewesen, aber dann waren mehr Werkzeuge in einer Ebene erforderlich. Ich dachte mehr an Aufgabentrennung. Ich muss nach Best Practices für das Schlüsselmanagement forschen. Ich glaube, ich stecke im Denkprozess der Aufgabentrennung der alten Schule fest. Dies hat mir geholfen zu erkennen, dass ich die Tasten möglicherweise falsch bediene.
Zonirunner

Es gibt Gründe, mehrere Schlüssel zu haben. Zum Beispiel könnten Sie einen Schlüssel haben, um eine Reihe von Instanzen bei Amazon zu steuern, einen anderen Schlüssel für Google usw. Um mehrere Schlüssel zu verwalten, ist es am besten, sie in verschiedenen Dateien abzulegen, aber der Mac-Keystore scheint sie alle zu behalten. ..
vy32
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.