Kann ich PLink und Pageant mit Cygwins ssh verwenden?

26

Ich verwende jetzt msysgit aufgrund der GUI-Tools, die Puttys Pageant- und PLink-Dienstprogramme verwenden, aber ich verwende Cygwin als allgemeines SSH-Terminal. Ich habe ssh-agent unter Cygwin verwendet, aber das bedeutet, dass ich meine SSH-Schlüssel-Passphrasen für beide SSH-Schlüsselmanager eingeben muss. Kann ich alle meine Unix-Port-Tools (msys, git, cygwin, Ruby Net: SSH usw.) so konfigurieren, dass PLink / Pageant anstelle von ssh-agent verwendet wird? Es sieht so aus, als wäre PLink dafür gemacht, aber ich kann keine Dokumentation darüber finden, wie.

Jerph
quelle
3
fünf Jahre später: "PuttyAgent unterstützt jetzt openssh / cygwin / msys"
Tobias Kienzler

Antworten:

17

Ich habe auch einen Proxy zwischen openssh und pageant geschrieben, den ich ssh-pageant nenne . Es sieht so ziemlich so aus wie Charade, aber ich hatte noch nichts davon gehört. Nun, falls Sie Probleme haben, dachte ich, ich würde ssh-pageant rausschmeißen, um es stattdessen zu versuchen.

Josh Stone
quelle
11

Ich bin vor einiger Zeit auf eine Scharade gestoßen, die den SSH-Agenten und die Stellvertreter von Pageant ersetzt. Zu der Zeit konnte ich es noch nicht richtig zum Laufen bringen und hatte seitdem keine Gelegenheit mehr, damit zu spielen, aber es könnte einen Versuch wert sein. Wenn Sie Glück haben, schreiben Sie bitte zurück und lassen Sie es mich wissen, es ist seit Ewigkeiten auf meiner Liste der Dinge, die zu tun sind!

Jon M
quelle
Ich kann bestätigen, dass es funktioniert. (Wie @Nightfly unten kann)
Christopher Galpin
2
Das würde ich nur hinzufügen , bevor Sie das Paket make bauen Sie sicher , dass Sie Cygwin Installation folgende Pakete zusätzlich zu Standard haben: make, gcc-core, keychain, psmisc, und natürlich openssh. Auf diese Weise, wenn Sie sehr detaillierte Anweisungen aus der README-Datei folgen, erhalten Sie keine Fehler
Alexander Pogrebnyak
5

Sie möchten ssh-agent und pageant so integrieren, dass Sie nur einen Schlüsselspeicher haben. Eine Möglichkeit, dies zu tun, besteht darin, PuTTY als Terminal zu verwenden, Ihre Schlüssel im Festzug zu halten, die Agentenweiterleitung zu aktivieren und Cygwin sshd und ssh zu localhost auszuführen. Auf diese Weise erhalten Sie eine Umgebung, in der Schlüssel über die ssh-Verbindung mit PuTTY per Festzug bereitgestellt werden - ssh-agent muss nicht ausgeführt werden.

Dasselbe sollte mit Plink möglich sein. Verwenden Sie einfach die Option -A und die resultierende Einstellung SSH_AUTH_SOCK in Ihren interaktiven Cygwin-Sitzungen. Haftungsausschluss: Ich habe das nicht ausprobiert.

Edit: Ich habe es jetzt versucht; es funktioniert gut. Ich habe eine Verknüpfung zu PLINK erstellt:

"C:\path\to\PLINK.EXE" -A -ssh -l yournamehere localhost "echo $SSH_AUTH_SOCK; while :; do sleep 86400; done"

Dann in einem Cygwin-Terminal (ich benutze natürlich PuTTYcyg):

export SSH_AUTH_SOCK=/tmp/ssh-crYQh24AMq/agent.3964
ssh-add -l

Scheint großartig zu funktionieren, erfordert aber immer noch einen lokalen sshd.

Was wirklich großartig wäre, wäre ein OpenSh-kompatibler Agent, der direkt mit dem Pageant-Keystore kommuniziert. Dies wird jedoch nur geschehen, wenn jemand ein solches Biest schreibt. Ich habe vor vielen Monden darüber nachgedacht, und es schien mehr Mühe zu geben, als es wert war, da diese Umgehung einfach genug ist.


quelle
mmm, das ist überhaupt keine schlechte Idee. Es ist wahrscheinlich, wie ich gehen werde. Vielen Dank! Und was Ihren OpenSH-kompatiblen Agenten betrifft, ist dies genau das, was ich mir erhofft hatte. Es scheint, als wäre es ein ziemlich wertvoller Code, da so viel Arbeit in die Kompatibilität von Software (wie Git) mit OpenSh und Plink gesteckt wird. Warum nicht einfach eine Übersetzungsebene haben? Scheint wie "der Unix-Weg", um es zu tun. :)
Jerph
2

Könnten Sie in die andere Richtung gehen und Puttycyg verwenden?

[ http://code.google.com/p/puttycyg/]

So haben Sie Putty als Ihr Cygwin-Terminal.

Davey
quelle
Ich bin nicht sicher, welche Konsequenzen die Verwendung von Kitt für meine Cygwin-Skripte haben würde. Ich bin mir nicht ganz sicher, wo Puttycyg sich einfügt. Ich werde es untersuchen - danke!
Jerph
0

ich würde das gleiche vorschlagen (benutze putty), aber benutze nur putty, da es besser mit pagent und plink zusammenwirkt, ich benutze es zusammen mit msysgit, aber benutze die von msysgit bereitgestellte git bash und es wäre in Ordnung, es ist ein wenig langweilig, zwischen den Konsolen zu wechseln, aber Die Trennung kann auch gut sein

Seanl
quelle
Ich kann Cygwin leider nicht verlassen. Ich bin von einigen Paketen abhängig, die es bietet, nicht nur von reinem ssh-Konsolenmaterial. Msys hat seine Stärken ("bessere" Integration mit vielen Windows-Tools und der Windows-Version von Ruby zum Beispiel), aber es wäre sehr schwierig, meine Cygwin-basierten Skripte mit den auf Msys verfügbaren Tools zu migrieren.
Jerph
0

Ein anderer Weg, es zu tun.

Fügen Sie diese Zeile ganz oben in .bash_profile ein

exec ssh-agent /usr/bin/bash

Fügen Sie dann Ihre Schlüssel am Ende von .bashrc hinzu

ssh-add ~/.ssh/myprivate
Ken
quelle
Wie kommt dieser Link zu Pageant? Die Frage war, wie man das nicht zusätzlich nutzt ssh-agent.
Tobias Kienzler