Bisakah saya menggunakan PLink dan Pageant dengan ssh Cygwin?

26

Saya sekarang menggunakan msysgit karena alat GUI, yang menggunakan utilitas Putty's Pageant dan PLink, tetapi saya menggunakan Cygwin sebagai terminal SSH umum. Saya telah menggunakan ssh-agent di Cygwin, tetapi itu berarti saya harus memasukkan frasa sandi kunci SSH saya untuk kedua manajer kunci SSH. Apakah mungkin untuk mengkonfigurasi semua alat Unix-port saya (msys, git, cygwin, Ruby Net: SSH, dll.) Untuk menggunakan PLink / Pageant daripada ssh-agent? Sepertinya itu jenis tujuan PLink dibuat, tetapi saya tidak dapat menemukan dokumentasi tentang caranya.

Jerph
sumber
3
lima tahun kemudian: "PuttyAgent sekarang mendukung openssh / cygwin / msys"
Tobias Kienzler

Jawaban:

17

Saya juga menulis proxy antara openssh dan pageant, yang saya sebut ssh-pageant . Sepertinya pendekatan yang hampir sama dengan sandiwara, tetapi saya belum pernah mendengarnya. Nah, kalau-kalau Anda punya masalah, saya pikir saya akan membuang ssh-pageant untuk mencoba.

Josh Stone
sumber
11

Saya menemukan sandiwara beberapa saat yang lalu, yang menggantikan ssh-agent dan proksi ke Pageant. Pada saat itu saya tidak bisa membuatnya bekerja, dan tidak memiliki kesempatan untuk bermain dengannya sejak itu, tetapi mungkin patut dicoba. Jika Anda beruntung, silakan kirim kembali dan beri tahu saya, sudah ada dalam daftar hal yang harus saya lakukan sejak lama!

Jon M
sumber
Saya dapat mengkonfirmasi itu berfungsi. (Seperti yang bisa @Nightfly di bawah)
Christopher Galpin
2
Saya hanya akan menambahkan bahwa sebelum Anda membangun paket make yakin bahwa Anda memiliki paket berikut selain standar cygwin instalasi: make, gcc-core, keychain, psmisc, dan tentu saja openssh. Dengan cara ini jika Anda mengikuti instruksi yang sangat terperinci dari file README Anda tidak akan mendapatkan kesalahan
Alexander Pogrebnyak
5

Anda ingin mengintegrasikan ssh-agent dan kontes agar Anda hanya memiliki satu keystore. Salah satu cara Anda dapat melakukan ini adalah menggunakan Putty sebagai terminal Anda, simpan kunci Anda di kontes, aktifkan agen forwarding, jalankan Cygwin sshd dan ssh ke localhost. Ini akan memberi Anda lingkungan di mana kunci dilayani oleh kontes melalui koneksi ssh dengan Putty - tidak perlu menjalankan ssh-agent.

Seharusnya dimungkinkan untuk melakukan hal yang sama dengan Plink. Cukup gunakan opsi -A, dan gunakan pengaturan SSH_AUTH_SOCK yang dihasilkan di sesi Cygwin interaktif Anda. Penafian: Saya belum mencoba ini.

Sunting: Saya sekarang sudah mencoba ini; itu bekerja dengan baik. Saya membuat pintasan untuk PLINK:

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

Kemudian, di terminal Cygwin (saya menggunakan PuTTYcyg tentu saja):

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

Tampaknya bekerja dengan baik, tetapi masih membutuhkan sshd lokal.

Apa yang benar - benar hebat adalah memiliki agen yang kompatibel dengan openssh yang berkomunikasi langsung dengan pageant keystore, tetapi ini tidak akan terjadi kecuali seseorang menulis binatang seperti itu. Saya melihat ke dalamnya beberapa bulan yang lalu, dan sepertinya lebih banyak masalah daripada nilainya mengingat pekerjaan ini cukup mudah.


sumber
mmm, ini bukan ide yang buruk sama sekali. Mungkin itulah cara saya pergi. Terima kasih! Dan mengenai agen Anda yang kompatibel dengan openssh, ya itulah yang saya harap bisa disediakan oleh plink. Sepertinya itu akan menjadi potongan kode yang bernilai cukup tinggi, karena begitu banyak pekerjaan yang dilakukan untuk membuat perangkat lunak (seperti git) kompatibel dengan kedua openssh dan plink. Mengapa tidak hanya memiliki layer terjemahan? Sepertinya "cara Unix" untuk melakukannya. :)
Jerph
2

Bisakah Anda pergi ke arah lain dan menggunakan puttycyg?

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

Dengan begitu Anda memiliki dempul sebagai terminal cygwin Anda.

davey
sumber
Saya tidak yakin apa konsekuensi menggunakan dempul bagi skrip Cygwin saya. Saya tidak begitu jelas tentang di mana puttycyg memasukkan sendiri, saya kira. Saya akan memeriksanya - terima kasih!
Jerph
0

saya akan menyarankan hal yang sama (gunakan dempul) tetapi hanya menggunakan dempul karena intergrates lebih baik dengan pagent dan plink, saya menggunakannya bersama dengan msysgit tetapi menggunakan bash git yang disediakan oleh msysgit dan itu akan baik-baik saja, itu adalah sedikit perubahan yang membosankan antar konsol tetapi pemisahan bisa baik juga

seanl
sumber
Sayangnya, saya tidak bisa meninggalkan Cygwin. Saya bergantung pada beberapa paket yang disediakannya, bukan hanya barang konsol ssh murni. Msys memiliki kekuatan (integrasi "yang lebih baik" dengan banyak alat Windows dan Ruby versi Windows, misalnya) tetapi akan sangat sulit untuk memigrasikan skrip berbasis Cygwin saya dengan alat yang tersedia di Msys.
Jerph
0

Cara lain untuk melakukannya.

Tambahkan baris ini di bagian paling atas .bash_profile

exec ssh-agent /usr/bin/bash

Kemudian tambahkan kunci Anda di bagian bawah .bashrc

ssh-add ~/.ssh/myprivate
ken
sumber
Bagaimana tautan ini ke Pageant? Pertanyaannya adalah tentang bagaimana tidak menggunakan ssh-agentselain itu.
Tobias Kienzler