Чи можу я використовувати PLink та Pageant разом із ssh Cygwin?


26

Зараз я використовую msysgit через інструменти GUI, які використовують утиліти Putty's Pageant та PLink, але я використовую Cygwin як загальний термінал SSH. Я використовував ssh-агент на Cygwin, але це означає, що я повинен вводити свої парольні фрази SSH для обох менеджерів ключів SSH. Чи можна налаштувати всі мої інструменти портів Unix (msys, git, cygwin, Ruby Net: SSH тощо) для використання PLink / Pageant замість ssh-агента? Здається, саме для цього було зроблено PLink, але я не можу знайти документацію про те, як.


Відповіді:


17

Я також написав проксі-сервер між openssh та Pageant, який я називаю ssh-pageant . Це схоже майже на той самий підхід, що і шарада, але я про нього не чув. Добре, якщо у вас виникли проблеми, я подумав, що я б викинув ssh-тестування, щоб спробувати замість цього.


11

Деякий час тому я натрапив на шараду , який замінює ssh-агент та проксі-сервери на Pageant. На той момент я не міг змусити його працювати, і з того часу не мав можливості зіграти з ним, але, можливо, варто спробувати. Якщо у вас є удача, будь ласка, опублікуйте та дайте мені знати, що це у моєму списку речей, які слід робити на віки!


Я можу підтвердити, що це працює. (Як можна @Nightfly нижче)
Крістофер

2
Я хотів би тільки додати , що , перш ніж будувати пакет переконайтеся , що у вас є такі пакети на додаток до замовчуванням Cygwin установки: make, gcc-core, keychain, psmiscі, звичайно ж openssh. Таким чином, якщо дотримуватись дуже детальної інструкції з файлу README, ви не помилитесь
Олександр Погребняк

5

Ви шукаєте інтегрувати ssh-агент та тестування, щоб мати лише одну сховище ключів. Один із способів зробити це - використовувати PuTTY в якості терміналу, тримати свої ключі в конкурсі, включити переадресацію агента, запустити Cygwin sshd і ssh в localhost. Це дасть вам середовище, в якому ключі обслуговуються виступів через ssh-з'єднання з PuTTY - не потрібно запускати ssh-агент.

Має бути можливість зробити те ж саме з Plink. Просто скористайтеся опцією -A та використовуйте отриманий параметр SSH_AUTH_SOCK у своїх інтерактивних сесіях Cygwin. Відмова: Я цього не пробував.

Редагувати: я зараз спробував це; це працює просто чудово. Я створив ярлик до PLINK:

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

Потім у терміналі Cygwin (я звичайно використовую PuTTYcyg):

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

Здається, працює чудово, але все ж потрібен локальний sshd.

Що було б справді чудово - це мати сумісний з відкритим агентом агент, який спілкуватиметься безпосередньо з сховищем клавіш, але це не відбудеться, якщо хтось не напише такого звіра. Я переглянув це багато місяців тому, і мені здалося, що це більше клопоту, ніж варто, враховуючи, що ця обробка досить проста.


ммм, це зовсім не погана ідея. Мабуть, як я піду. Спасибі! А щодо вашого агента, сумісного з відкритими програмами, так, саме так я сподівався підказати. Здається, це було б досить високим значенням коду, оскільки так багато роботи йде на те, щоб зробити програмне забезпечення (як git) сумісним як з opensh, так і з plink. Чому б просто не мати шар перекладу? Здається, це "спосіб Unix", щоб зробити це. :)
Джерф

2

Чи можете ви піти іншим шляхом і використовувати шпаклівку?

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

Таким чином ви маєте шпаклівку як термінал cygwin.


Я не впевнений, якими наслідками буде використання шпаклівки для моїх скриптів Cygwin. Мені не зовсім зрозуміло, де саме вставляється шпаклівка. Я загляну в це - дякую!
Джерф

0

Я б запропонував те ж саме (використовуйте шпаклівку), але просто використовуйте шпаклівку, оскільки вона краще взаємодіє з пагентом і планкінгом, я використовую її разом з msysgit, але використовуйте git bash, що надається msysgit, і це буде добре, його трохи стомлювальне перемикання між консолями, але поділ може бути хорошим також


На жаль, я не можу покинути Сігвіна. Я залежу від деяких пакетів, які він надає, а не лише від чистого матеріалу консолі ssh. Msys має свої сильні сторони (наприклад, "краща" інтеграція з багатьма інструментами Windows та Windows версія Ruby, наприклад), але було б дуже важко перенести мої сценарії на основі Cygwin з інструментами, доступними на Msys.
Джерф

0

Ще один спосіб зробити це.

Додайте цей рядок у самому верху .bash_profile

exec ssh-agent /usr/bin/bash

Потім додайте свої ключі внизу .bashrc

ssh-add ~/.ssh/myprivate

Як це посилання на Pageant? Питання полягало в тому, як не використовувати ssh-agentдодатково до цього.
Тобіас Кіенцлер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.