Tôi có thể sử dụng PLink và Pagete với ssh của Cygwin không?


26

Tôi hiện đang sử dụng msysgit vì các công cụ GUI, sử dụng các tiện ích của Cuộc thi và Cuộc thi của Putty, nhưng tôi sử dụng Cygwin làm thiết bị đầu cuối SSH chung. Tôi đã sử dụng ssh-agent trên Cygwin, nhưng điều đó có nghĩa là tôi phải nhập cụm mật khẩu khóa SSH cho cả người quản lý khóa SSH. Có thể định cấu hình tất cả các công cụ cổng Unix của tôi (msys, git, cygwin, Ruby Net: SSH, v.v.) để sử dụng PLink / Pageant thay vì ssh-agent không? Có vẻ như đó là thứ mà PLink được tạo ra, nhưng tôi không thể tìm thấy tài liệu về cách thức.


Câu trả lời:


17

Tôi cũng đã viết một proxy giữa openssh và pagete, mà tôi gọi là ssh-pageant . Nó trông giống như cách tiếp cận tương tự như trò chơi đố chữ, nhưng tôi đã không nghe về nó. Chà, trong trường hợp bạn gặp rắc rối, tôi nghĩ tôi sẽ ném ra ssh-pagete để thử.


11

Tôi đã bắt gặp charade một thời gian trước, nó thay thế ssh-agent và proxy cho Pageant. Lúc đó tôi không thể làm cho nó hoạt động được và từ đó không có cơ hội chơi với nó, nhưng nó có thể đáng để thử. Nếu bạn có bất kỳ may mắn xin vui lòng gửi lại và cho tôi biết, nó đã nằm trong danh sách của tôi những việc cần làm cho lứa tuổi!


Tôi có thể xác nhận nó hoạt động. (Như có thể @Nightfly bên dưới)
Christopher Galpin

2
Tôi sẽ chỉ làm tăng thêm rằng trước khi bạn xây dựng làm cho gói chắc chắn rằng bạn có các gói sau đây ngoài việc mặc định Cygwin cài đặt: make, gcc-core, keychain, psmisc, và tất nhiên openssh. Bằng cách này nếu bạn làm theo hướng dẫn rất chi tiết từ tệp README, bạn sẽ không gặp phải bất kỳ lỗi nào
Alexander Pogrebnyak

5

Bạn đang tìm cách tích hợp ssh-agent và pagete để bạn chỉ có một kho khóa. Một cách bạn có thể làm điều này là sử dụng PuTTY làm thiết bị đầu cuối của bạn, giữ các khóa của bạn trong cuộc thi, cho phép chuyển tiếp đại lý, chạy Cygwin sshd và ssh để localhost. Điều này sẽ cung cấp cho bạn một môi trường nơi các khóa được phục vụ bởi cuộc thi qua kết nối ssh với PuTTY - không cần phải chạy ssh-agent.

Có thể làm tương tự với Plink. Chỉ cần sử dụng tùy chọn -A và sử dụng cài đặt SSH_AUTH_SOCK kết quả trong các phiên Cygwin tương tác của bạn. Tuyên bố miễn trừ trách nhiệm: Tôi chưa thử điều này.

Chỉnh sửa: Bây giờ tôi đã thử điều này; nó hoạt động tốt Tôi đã tạo một lối tắt đến PLINK:

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

Sau đó, trong một thiết bị đầu cuối Cygwin (tất nhiên tôi sử dụng PuTTYcyg):

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

Có vẻ để làm việc tuyệt vời, nhưng vẫn cần một sshd địa phương.

Điều sẽ thực sự tuyệt vời là có một tác nhân tương thích mở, giao tiếp trực tiếp với kho khóa của cuộc thi, nhưng điều này sẽ không xảy ra trừ khi có ai đó viết một con thú như vậy. Tôi đã nhìn vào nó nhiều mặt trăng trước đây và có vẻ rắc rối hơn là đáng để cho rằng công việc này là đủ dễ dàng.


Mmm, đây không phải là một ý tưởng tồi Có lẽ tôi sẽ đi như thế nào. Cảm ơn! Và liên quan đến đại lý tương thích openssh của bạn, vâng đó chính xác là những gì tôi đã hy vọng plink có thể cung cấp. Có vẻ như nó sẽ là một đoạn mã có giá trị khá cao, vì có quá nhiều công việc để làm cho phần mềm (như git) tương thích với cả openssh và plink. Tại sao không chỉ có một lớp dịch? Có vẻ như "cách Unix" để làm điều đó. :)
Giê

2

Bạn có thể đi theo con đường khác và sử dụng puttycyg?

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

Bằng cách đó, bạn đã đặt putty như thiết bị đầu cuối cygwin của bạn.


Tôi không chắc hậu quả của việc sử dụng putty sẽ là gì đối với các tập lệnh Cygwin của tôi. Tôi không thực sự rõ ràng về nơi puttycyg chèn chính nó, tôi đoán. Tôi sẽ xem xét nó - cảm ơn!
Giê

0

Tôi sẽ đề xuất điều tương tự (sử dụng putty) nhưng chỉ sử dụng putty vì nó kết hợp tốt hơn với pagent và plink, tôi sử dụng nó cùng với msysgit nhưng sử dụng bash bash được cung cấp bởi msysgit và nó sẽ ổn, chuyển đổi một chút tẻ nhạt giữa các bảng điều khiển nhưng nó sẽ ổn sự tách biệt cũng có thể tốt


Thật không may, tôi không thể rời Cygwin. Tôi phụ thuộc vào một số gói mà nó cung cấp, không chỉ là công cụ điều khiển ssh thuần túy. Msys có thế mạnh (tích hợp "tốt hơn" với nhiều công cụ Windows và phiên bản Windows của Ruby chẳng hạn), nhưng sẽ rất khó để di chuyển các tập lệnh dựa trên Cygwin của tôi với các công cụ có sẵn trên Msys.
Giê

0

Một cách khác để làm điều đó.

Thêm dòng này ở đầu .bash_profile

exec ssh-agent /usr/bin/bash

Sau đó thêm khóa của bạn ở cuối .bashrc

ssh-add ~/.ssh/myprivate

Làm thế nào để liên kết này đến cuộc thi? Câu hỏi là làm thế nào để không sử dụng ssh-agentthêm vào đó.
Tobias Kienzler
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.