Czy mogę używać PLink i Pageant z ssh Cygwina?


26

Teraz używam msysgit z powodu narzędzi GUI, które używają narzędzi Putty's Pageant i PLink, ale używam Cygwin jako ogólnego terminala SSH. Korzystałem z ssh-agent na Cygwin, ale to oznacza, że ​​muszę wprowadzić moje hasła SSH dla obu menedżerów kluczy SSH. Czy można skonfigurować wszystkie narzędzia Unix-port (msys, git, cygwin, Ruby Net: SSH itp.), Aby używały PLink / Pageant zamiast ssh-agent? Wygląda na to, że właśnie z tego powodu został stworzony PLink, ale nie mogę znaleźć dokumentacji na ten temat.


Odpowiedzi:


17

Napisałem również proxy między openssh a pageant, które nazywam ssh-pageant . Wygląda to tak samo jak farsa, ale o tym nie słyszałem. Na wypadek, gdybyś miał kłopoty, pomyślałem, że zamiast tego wyrzucę ssh-pageant.


11

Jakiś czas temu natknąłem się na szaradę , która zastępuje ssh-agent i proxy do Pageant. W tym czasie nie mogłem do końca go uruchomić i od tamtej pory nie miałem okazji się nim bawić, ale warto spróbować. Jeśli masz szczęście, odeślij je i daj mi znać, to było na mojej liście rzeczy do zrobienia od wieków!


Mogę potwierdzić, że działa. (Jak można @Nightfly poniżej)
Christopher Galpin

2
Dodam tylko, że zanim budować markę pakiet się, że masz następujące pakiety oprócz domyślnie cygwin instalacji: make, gcc-core, keychain, psmisc, i, oczywiście openssh. W ten sposób, jeśli wykonasz bardzo szczegółową instrukcję z pliku README, nie otrzymasz żadnych błędów
Alexander Pogrebnyak

5

Chcesz zintegrować ssh-agent i pageant, aby mieć tylko jeden magazyn kluczy. Jednym ze sposobów na to jest użycie PuTTY jako terminala, trzymanie kluczy w korowodzie, włączenie przekazywania agentów, uruchomienie sygd i ssh Cygwin na localhost. To da ci środowisko, w którym klucze są obsługiwane przez pageant przez połączenie ssh z PuTTY - nie musisz uruchamiać ssh-agent.

Powinno być możliwe zrobienie tego samego z Plink. Wystarczy użyć opcji -A i użyć wynikowego ustawienia SSH_AUTH_SOCK w interaktywnych sesjach Cygwin. Oświadczenie: Nie próbowałem tego.

Edycja: Próbowałem już tego; to działa dobrze. Utworzyłem skrót do PLINK:

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

Następnie w terminalu Cygwin (używam oczywiście PuTTYcyg):

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

Wydaje się, że działa świetnie, ale nadal wymaga lokalnego sshd.

To, co byłoby naprawdę świetne, to mieć agenta kompatybilnego z openssh, który komunikuje się bezpośrednio z magazynem kluczy w konkursie, ale tak się nie stanie, chyba że ktoś napisze taką bestię. Zaglądałem w to wiele księżyców temu i wydawało mi się to większym problemem niż warto, biorąc pod uwagę, że takie obejście jest dość łatwe.


mmm, to wcale nie jest zły pomysł. Pewnie tak pójdę. Dzięki! A jeśli chodzi o twojego agenta kompatybilnego z openssh, tak właśnie miałem nadzieję, że będzie w stanie zapewnić plink. Wygląda na to, że byłby to bardzo cenny fragment kodu, ponieważ tyle pracy włożono w dostosowanie oprogramowania (takiego jak git) zarówno do openssh, jak i plink. Dlaczego nie mieć po prostu warstwy tłumaczącej? Wydaje się, że jest to „uniksowy sposób”. :)
Jerph

2

Czy mógłbyś pójść w drugą stronę i użyć puttycyg?

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

W ten sposób masz kit jako terminal cygwina.


Nie jestem pewien, jakie byłyby konsekwencje użycia szpachli dla moich skryptów Cygwin. Chyba nie jestem do końca pewien, gdzie wstawia się puttycyg. Zajrzę do tego - dzięki!
Jerph

0

sugerowałbym to samo (użyj putty), ale po prostu użyj putta, ponieważ lepiej integruje się z pagent i plink, używam go wraz z msysgit, ale używam git bash dostarczonego przez msysgit i byłoby dobrze, to trochę żmudne przełączanie między konsolami, ale separacja może być również dobra


Niestety nie mogę opuścić Cygwin. Zależę od niektórych pakietów, które on zapewnia, a nie tylko czystych konsol ssh. Msys ma swoje mocne strony (na przykład „lepszą” integrację z wieloma narzędziami Windows i wersją Ruby dla Windows), ale bardzo trudno byłoby migrować moje skrypty oparte na Cygwin za pomocą narzędzi dostępnych w Msys.
Jerph

0

Kolejny sposób to zrobić.

Dodaj tę linię na samym początku pliku .bash_profile

exec ssh-agent /usr/bin/bash

Następnie dodaj klucze u dołu .bashrc

ssh-add ~/.ssh/myprivate

Jak ten link prowadzi do Pageant? Pytanie dotyczyło tego, jak tego nie używać ssh-agent.
Tobias Kienzler
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.