SSH mit Agent Forwarding mit Windows Host OS, Vagrant Ubuntu Guest OS und Keepass/Keeagent

SSH mit Agent Forwarding mit Windows Host OS, Vagrant Ubuntu Guest OS und Keepass/Keeagent

Absicht: Um von jeder Entwicklungsumgebung aus bereitstellen zu können lan-example.com; sei es direkt vom virtuellen Betriebssystem oder einem Einzelbetriebssystem oder sogar über das Internet mit EINEM in Keepass gespeicherten SSH-Schlüssel. Ich kann dies derzeit nicht vom Betriebssystem von Vagrant aus tun, es sei denn, ich generiere ausdrücklich einen eigenen Schlüssel und autorisiere ihn auf jedem meiner Bereitstellungsserver. Ich glaube, der Weg, das zu erreichen, was ich will, ist die Weiterleitung des Benutzeragenten, oder?


Host-Betriebssystem

  • Windows 7 x64
  • Von Puttygen generierter SSH-Schlüssel:C:\Users\Administrator\.ssh\id_rsa.ppk
  • Keepass mit Keeagent speichert meinen SSH-Schlüssel. Keeagent ist auf den „Agent“-Modus eingestellt
  • pageant.exe ist installiert, wird aber nicht ausgeführt
  • Wenn ich mit meinem Schlüssel eine Verbindung zu externen/internen LAN-Servern herstellen möchte, greift Putty auf Keeagent zurück – Putty speichert die Speicherorte der privaten Schlüssel nicht in seiner Konfiguration.

C:\Benutzer\Administrator.ssh\config

Host 192.168.55.2
  ForwardAgent yes

Vagrant-Datei

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
  config.vm.network :private_network, ip: '192.168.55.2'
  config.ssh.forward_agent = true
  # Why would I need to set this if Keeagent is handling things?
  config.ssh.private_key_path = '~/.ssh/id_rsa_jake_mitchell.ppk'
end

Gastbetriebssystem (Vagrant)

  • Ubuntu x64
  • 192.168.55.2, nur über Host erreichbar
  • Es sind keine SSH-Schlüssel vorhanden /home/vagrant/.ssh(ich habe sie entfernt). Die Absicht besteht darin, dass User Agent Forwarding über das Host-Betriebssystem (Keeagent) sich um die Verwendung des Schlüssels kümmert

LAN-Webhost (Intranet-Websites)

  • Nehmen wir an, seine Domäne istlan-example.com
  • Es ermöglicht eine passwortlose SSH-Anmeldung nur mit dem öffentlichen Schlüssel id_rsa.ppk
  • 192.168.0.2
  • Die Benutzeragentenweiterleitung ist in sshd aktiviert

Problem:

Was funktioniert (unter Verwendung des Host-Betriebssystems): Putty, Verbindung herstellen lan-example.comohne expliziten Verweis auf den SSH-Schlüssel.

Was nicht funktioniert (bei Verwendung des Gastbetriebssystems): Es wird angezeigt, dass keine zu verwendenden Schlüssel vorhanden sind.ssh -v [email protected]

Mir ist etwas aufgefallen an derBetaversion von KeeagentDadurch kann ich SSH_AUTH_SOCK festlegen. Ich habe dies getan und eine NFS-Freigabe eingerichtet, die es dem Gastbetriebssystem ermöglicht, die Datei zu lesen. Dies ändert jedoch nichts. Wie funktioniert die Agentenweiterleitung in dieser Art von Umgebung überhaupt? Was ist bei Windows anders, das dazu führt, dass dies fehlschlägt?

Antwort1

Sie müssen vom Host-Betriebssystem (unter Windows mit PuTTY) eine SSH-Verbindung herstellen und dabei die Agent-Weiterleitung aktivieren. Von dieser Sitzung aus müssen Sie dann eine SSH-Verbindung vom Gast-Betriebssystem zum Server herstellen.

PuTTY Agent-Weiterleitungseinstellungen

verwandte Informationen