2011-11-17 8 views
8

Tôi đã có Ubuntu 10.04 và mới được nâng cấp lên 11.10. Các khóa SSH bổ sung đã ngừng hoạt động. Tôi có các phím bitbucketgithub, mà tôi có trong các trang web. Làm thế nào tôi có thể yêu cầu SSH sử dụng một khóa cụ thể cho Bitbucket và một khóa khác cho GitHub?Làm thế nào để sử dụng khóa SSH đặc biệt cho BitBucket và GitHub để đẩy/kéo?

Vì vậy, tôi có một cấu hình:

Host bitbucket 
HostName 207.223.240.182 
User hg 
IdentityFile ~/.ssh/bitbucket 

Khi tôi gọi ssh bitbucket, ssh đăng nhập thành công với phím và bị đá ra ngoài. Nhưng khi tôi thử hg pull, tôi thấy "không có phản hồi từ hg từ xa". và cụm từ mật khẩu không được yêu cầu.

Có thể làm gì?

Trả lời

10

Đối với lời giải thích về lý do khiến các cấu hình đăng trong câu hỏi không hoạt động nhưng câu trả lời của bạn không:

Khi bạn gọi ssh bitbucket, ssh trông trong cấu hình của bạn tệp cho máy chủ có tên là bitbucket được xác định bằng từ khóa Host. Sau đó, bằng cách sử dụng từ khóa HostName, bạn có thể xác định tên máy chủ thực để sử dụng. Trong trường hợp của bạn, bạn đang xác định bitbucket như một bí danh cho 207.233.240.182 IP mà tôi giả định là một cho bitbucket.org

Nó không được làm việc cho các lệnh lanh lợi của bạn bởi vì các máy chủ từ xa có lẽ là định nghĩa là bitbucket.org và không bí danh bitbucket. Sau khi bạn thay đổi tập tin cấu hình cho một trong những đề xuất trong câu trả lời của bạn, ssh có thể có hiệu quả phù hợp với máy chủ từ xa với tên máy chủ và tất cả mọi thứ là tốt!

FYI, bạn cũng có thể sử dụng ký tự đại diện cho phù hợp với mô hình, ví dụ:

Host bitbucket.* 
    HostName 207.223.240.182 
    User hg 
    IdentityFile ~/.ssh/bitbucket 

cũng sẽ làm việc, bởi vì khi nhìn vào cấu hình, SSH sẽ thay thế * với bất cứ điều gì khác.

+0

Đọc rất hữu ích, cảm ơn! –

1

Tôi đã không cố gắng hết sức! Điều quan trọng là có bây giờ. Giải pháp là để thêm .org để lưu trữ:

Host bitbucket.org 
User hg 
IdentityFile ~/.ssh/bitbucket2 
+1

Nếu bạn có nhiều khóa, hãy cân nhắc thêm tùy chọn IdentitiesOnly yes. –