2011-12-18 19 views
5

Tôi đã cài đặt msysgit: Git-1.7.8-preview20111206.exe từ http://code.google.com/p/msysgit/downloads/list (Chỉnh sửa: Tôi cũng đã cài đặt msysGit-fullinstall-1.7.8-preview20111206.exe, tiện ích cài đặt vào một thư mục khác và tôi thấy cùng một vấn đề với trường hợp đó).Làm cách nào để tách biệt các vấn đề với ssh-add/ssh-agent được cung cấp trong việc triển khai msys đi kèm với msysgit?

Và tôi đang gặp sự cố với ssh-agent, trong đó ssh-add luôn báo cáo: "Không thể mở kết nối với tác nhân xác thực của bạn".

Thật không may, ssh-add không cho tôi biết thêm chi tiết về lỗi mà nó gặp phải. Nó cảm thấy như nó là thời gian ra khi nó cố gắng để kết nối với một ổ cắm, nhưng nó không thực sự thừa nhận rằng đây là vấn đề, và hành vi ssh-đại lý như nó đang chạy bình thường. Suy nghĩ về sự kết hợp này khiến tôi nghi ngờ một vấn đề về quyền, nhưng tôi không biết tôi sẽ xem xét vấn đề đó ở đâu (và tôi không thấy bất cứ điều gì mà tôi nhận ra là quan trọng trong nhật ký sự kiện của Windows).

Thông báo lỗi này ngăn cản tôi: Tôi có lý do để tin rằng tôi có thể nhận được thông báo lỗi này nếu biến môi trường của tôi không được thiết lập đúng cách, nhưng tôi có lý do để tin rằng tôi đã đặt biến môi trường của mình. Tôi có lý do để tin rằng tôi có thể nhận được thông báo lỗi này nếu các biến môi trường của tôi đề cập đến một thể hiện của ssh-agent không chạy, nhưng tôi có chính xác một thể hiện của ssh-agent đang chạy và nó khớp với những gì tôi thấy trong các biến môi trường . Và điều này có thể lặp lại. Tôi đã bắt đầu (và cuối cùng tắt) hàng chục trường hợp của ssh-agent, sử dụng các kỹ thuật như ssh-agent > ~/.ssh/environment; . ~/.ssh/environment, và eval `ssh-agent`ssh-agent bash và vân vân ... và tôi không thể lấy msys ssh-add để kết nối với msys ssh-agent.

bash-3.1$ ps | grep ssh-agent 
    10304  1 10304  10304 ? 500 09:01:24 /bin/ssh-agent 
bash-3.1$ bash -c 'set | grep SSH_A' 
BASH_EXECUTION_STRING='set | grep SSH_A' 
SSH_AGENT_PID=10304 
SSH_AUTH_SOCK=/tmp/ssh-oAFwa11048/agent.11048 
bash-3.1$ time ssh-add -L 
Could not open a connection to your authentication agent. 

real 0m10.730s 
user 0m0.000s 
sys  0m0.015s 
bash-3.1$ wc /tmp/ssh-oAFwa11048/agent.11048 
     0  3  52 /tmp/ssh-oAFwa11048/agent.11048 
bash-3.1$ cat /tmp/ssh-oAFwa11048/agent.11048; echo 
!<socket >59261 060A4541-9831B739-519220DE-57936738 
bash-3.1$ 

Tôi không quan tâm đến kịch bản bất cứ điều gì, chỉ được nêu ra - Tôi tin rằng nếu tôi có thể nhận được ssh-add làm việc kể từ dòng lệnh mà tôi có thể kịch bản nó ...

Và cũng lưu ý rằng 10 giây của thời gian thực mà ssh-add sử dụng xảy ra trước khi nó phát ra thông báo "Không thể mở ...".

Và, tôi đang sử dụng phiên bản hiện tại của cửa sổ 7, tại đây. Và, tôi cũng đã cài đặt Cygwin, nhưng nó không nằm trong đường dẫn của tôi khi tôi đang sử dụng msys. Trình quản lý tác vụ cho tôi thấy rằng tôi chỉ có một thể hiện của ssh-agent đang chạy. Ssh-agent đang chạy là msys ssh-agent, và được bắt đầu từ dấu nhắc bash của msysgit (không có gì từ cygwin trong đường dẫn). Khóa ssh được tạo ra bằng cách sử dụng ssh-keygen của cygwin, nhưng thử nghiệm bề ngoài cho thấy rằng các tiện ích mssh ssh không có vấn đề gì với tệp. ssh-agent không cho tôi bất kỳ thông báo lỗi hoặc cảnh báo nào.

Tôi có thể sử dụng ssh-agent của cygwin, nhưng trộn Cygwin và msys giới thiệu các phức tạp khác (và bạn có thể thấy một số điều đó chỉ từ mô tả của tôi về vấn đề này), và tôi đang cố gắng để có được msys làm việc mà không cần bất cứ điều gì từ Cygwin.

Tôi cần làm gì để tìm hiểu lý do tại sao sys-add msys không hoạt động? (Hoặc: tôi cần phải làm gì để có được ssh-add đó hoạt động đúng không?)

Trả lời

5

Tôi không thể nói nhiều về lý do và cách thức, nhưng tôi có thể cho bạn biết những gì tôi đã cố gắng và . Trong git bash:

exec ssh-agent bash 

Sau đó (trong vỏ đã thay đổi):

ssh-add 

đó đã làm việc ở một mức độ, tôi chỉ phải gõ cụm từ mật khẩu một lần, nhưng tôi bị mất cái nhìn bình thường. Sau khi tìm kiếm thêm, tôi tìm thấy một.bashrc script trên this Github help page.

Các vấn đề liên quan