Windows 10 Linux-Subsystem ssh-agent behält keine hinzugefügten Identitäten bei

3355
Jignesh Gohel

Ich habe angefangen, mein Windows 10 für die Rails-Entwicklung zu verwenden, und ich verwende dafür das Linux-Subsystem.

Vor kurzem hatte ich ein Problem mit der Verbindung zu einer Remote-Maschine über SSH vom Terminal aus. Der öffentliche Schlüssel ist bereits auf dem Remote-Computer verfügbar.

Nach einigen Fehlerbehebungen aufgrund der Ressourcen, die ich im Web gefunden hatte, fiel mir auf, dass der SSH-Agent nicht ausgeführt wurde, da der ssh-add -lBefehl nicht die erwartete Ausgabe lieferte.

Um den SSH-Agenten beim Start zu starten, habe ich die Anweisungen unter https://github.com/abergs/ubuntuonwindows#2-start-an-bash-ssh-agent-on-launch befolgt und es funktionierte einwandfrei.

Nun, da der SSH-Agent automatisch gestartet wird, fügte ich meine Identitätsdatei mit dem Befehl hinzu ssh-add path/to/identity/file.

Beachten Sie, dass ich beim Generieren von SSH-Schlüsseln den benutzerdefinierten Dateinamen id_work_gmail und id_work_gmail.pub verwendet habe . Daher musste ich es mit dem obigen Befehl zum Agenten hinzufügen.

Danach kann ich mich über SSH erfolgreich mit dem Remote-Computer verbinden.

Bis dahin lief alles glatt. Sobald ich jedoch die Cmder Ubuntu Bash-Konsolen geschlossen und eine neue gestartet ssh-add -lhabe, wurde der Agent informiert. Der Agent hat keine Identitäten. . Also musste ich dem Agenten erneut meine Identitätsdatei mit dem benutzerdefinierten Namen hinzufügen.

Das ist etwas, was ich jedes Mal tun muss, wenn ich die Ubuntu Bash-Konsolen töte und eine neue eröffne.

Meine Frage ist, wie können wir die ssh-add path/to/identity/file/custom-namedAction so machen, wie sie auf einem Ubuntu-Computer geschieht. Und ich bin neugierig zu wissen, was es zu einer einmaligen Aktivität auf einem Ubuntu-Computer und zu einer wiederholten Aktivität auf einem Windows 10-Linux-Subsystem macht.

Vielen Dank.

1

1 Antwort auf die Frage

1
Jakuje

Und ich bin neugierig zu wissen, was es zu einer einmaligen Aktivität auf einem Ubuntu-Computer und zu einer wiederholten Aktivität auf einem Windows 10-Linux-Subsystem macht.

Normalerweise wird das ssh-agentProgramm in Ihrer Sitzung ausgeführt, sodass es nicht früher geschlossen wird, als Sie sich von Ihrem Konto in Linux abmelden.

Wenn Sie es von WLS aus verwenden und das (wahrscheinlich) letzte Fenster schließen, führt dies eine vernünftige Bereinigung durch und stoppt wahrscheinlich Ihre ssh-agent. Dies ist vernünftig und sicher, um vertrauliche Daten aus dem Speicher zu entfernen.

Meine Frage ist, wie wir die Aktion ssh-add path / to / identity / file / custom-named so machen können, wie dies auf einem Ubuntu-Computer der Fall ist.

Schließen Sie einfach dieses Fenster nicht (oder lassen Sie eines im Hintergrund geöffnet ... es könnte auch helfen). Oder konfigurieren sshSie diesen Schritt automatisch, wenn Sie den Schlüssel zum ersten Mal verwenden. Schreibe einfach an deine~/.ssh/config

Host server-you-are-connecting.to IdentityFile path/to/identity/file/custom-named AddKeysToAgent yes 
Danke für die ausführliche Antwort. Ihr Vorschlag, die Option "AddIdentityToAgent yes" zu verwenden, führte zu der Option "Ungültige Konfiguration: addidentitytoagent". Ich habe das Handbuch unter https://linux.die.net/man/5/ssh_config referenziert. Dort konnte ich diese Option nicht in unterstützten Optionen finden und daher vermute ich diesen Fehler. Jignesh Gohel vor 7 Jahren 0
Es tut uns leid. Ich meinte "AddKeysToAgent". Jakuje vor 7 Jahren 0
gleicher Fehler `Ungültige Konfigurationsoption: addkeystoagent` Jignesh Gohel vor 7 Jahren 0
Dann haben Sie alte OpenSSH (es funktioniert mit 7.2 und neuer), also entweder aktualisieren oder mit der ersten Option gehen. Jakuje vor 7 Jahren 0
Danke, ich werde versuchen, es zu aktualisieren. Übrigens habe ich auch eine verwandte SO-Post gefunden: https://unix.stackexchange.com/a/269132/146438 zu dieser Option. Jignesh Gohel vor 7 Jahren 0
Ich habe die SSH auf meinem WLS aktualisiert, jedoch mit Ihrem Vorschlag, eine Konfigurationsdatei zu verwenden und die Option "AddKeysToAgent" hinzuzufügen, erweist es sich nicht als hilfreich für das ursprüngliche Problem, das ich habe, dh nachdem ich die letzte Sitzung beendet und mich wieder angemeldet habe Schlüssel mit ssh-add erneut hinzufügen. Ich habe dies in einem gist https://gist.github.com/jiggneshhgohel/afe96f0d57bdbf8beba305a73905402d dokumentiert. Jignesh Gohel vor 7 Jahren 0
Ihre Kommentare zeigen, dass Sie eine Verbindung zu `github.com` herstellen und nicht zu den Hosts, für die Sie die Option definiert haben. Daher wird sie nicht angewendet. Jakuje vor 7 Jahren 0
Vielen Dank. Du hast recht. Ich habe neue Kommentare hinzugefügt, die zeigen, dass das Problem gelöst ist. Jignesh Gohel vor 7 Jahren 0