2011-11-18 45 views
50

Tôi có tài khoản Bitbucket cho công việc 9-5 và tôi cũng có tài khoản Bitbucket cá nhân. Mục tiêu của tôi là có thể sử dụng cả trên cùng một máy tính. Tôi đã cài đặt git mới nhất trên một máy tính Windows 7.Nhiều tài khoản bitbucket

Vì vậy, hiện tại mọi thứ với công ty của tôi Tài khoản Bitbucket hoạt động tốt, tôi có thể kéo/đẩy mà không gặp vấn đề gì. Tôi tạo ra một khóa ssh mới bằng cách sử dụng ssh-keygen và gán một tên mới trong trường hợp "công nghệ" của tôi. Nhưng tôi đang gặp vấn đề về cách nói cho một repo địa phương sử dụng khóa ssh mới mà tôi đã tạo. Tôi giả sử mỗi khi tôi cố gắng kết nối nó sử dụng khóa ssh đầu tiên.

tôi nhận được lỗi:

$ git push conq: truy cập kho lưu trữ từ chối. gây tử vong: Kết thúc từ xa treo lên bất ngờ

Tôi tìm thấy một số lời khuyên trên internet nhưng có vẻ như liên quan đến thiết lập linux/git, ví dụ tôi không thể tìm thấy tệp "config" trên windows.

+0

Bản sao có thể có của [Nhiều tài khoản GitHub & cấu hình SSH] (http://stackoverflow.com/questions/3225862/multiple-github-accounts-ssh-config) – MrTux

Trả lời

40

Bạn có thể gặp lỗi này nếu bạn chưa thêm khóa vào trình quản lý khóa (ssh-agent). Để thực hiện việc này:

ssh-add ~/.ssh/tech 

BTW, nếu bạn có nhiều tài khoản Bitbucket, bạn sẽ cần một khóa duy nhất cho mỗi tài khoản. IOW, bạn không thể sử dụng lại chìa khóa.

+4

Điều đó đã khắc phục được sự cố của tôi, bước bị thiếu trong tài liệu hướng dẫn về bitbucket. cảm ơn. – ams

0

Bạn chỉ nên tạo cặp khóa công khai/riêng tư một lần. Sau đó, tất cả các máy chủ có khóa công khai của bạn đều cho phép kết nối từ bạn nếu bạn cung cấp khóa riêng.

+2

Nếu bạn chỉ có một cặp khóa công khai/riêng, thì bạn không thể truy cập hai kho lưu trữ trên bitbucket. Khi bạn cố gắng thêm khóa ssh công khai của bạn vào khóa thứ hai, nó sẽ khiếu nại rằng khóa đó đã được thêm vào một tài khoản. – jononomo

+0

@JonCrowell Âm thanh lạ. Tôi đã không sử dụng bitbucket, nhưng github cho phép gán một chìa khóa cho một số repos. Một số phím có ý nghĩa cho các thiết bị khác nhau. Ví dụ. một cho máy tính xách tay, một cho máy tính để bàn. Nếu máy tính xách tay của bạn bị đánh cắp, bạn có thể thu hồi khóa của nó nhưng tiếp tục sử dụng máy tính để bàn. – kan

+1

Tôi không nghĩ rằng đây nên là câu trả lời được chấp nhận vì truy cập Bitbucket là một yêu cầu trong câu hỏi. – Andrew

0

Như đã nêu, bạn chỉ cần tạo pubkey một lần - vì bạn đã thiết lập với BitBucket, tệp id_rsa (hoặc bất kỳ tên nào bạn đặt tên của bạn)? Trên các cài đặt Windows của chúng tôi, nó nằm trong thư mục chính của người dùng trong thư mục ẩn .ssh. Bạn sẽ có thể tạo một tệp config tại đó.

75

This blog post mô tả cách đơn giản để thêm nhiều khóa ssh vào một máy tính và sử dụng một khóa ssh cho mỗi tài khoản bitbucket. Nó rõ ràng hơn nhiều so với official bitbucket documentation. Để tóm tắt:

Trước tiên, hãy đảm bảo bạn có thiết lập tài khoản mặc định thông qua hướng dẫn như this one on Github.

Đối với tài khoản thứ hai:

  1. Tạo một khóa ssh mới:

    ssh-keygen -f ~/.ssh/<your second account name> -C "<you email>" 
    
  2. Sử dụng pbcopy < ~/.ssh/<your second account name>.pub để sao chép các khóa công khai và thêm key này vào tài khoản bitbucket của bạn (trong khu vực cài đặt)

(Trên Windows bạn có thể sao chép khóa ssh bằng cách sử dụng ssh-keygen -f ~/.ssh/<your account name> -c "<your email>" | clip hoặc trên Linux you can follow these instructions.

  1. Thêm thông tin sau vào tệp ~/.ssh/config của bạn. Đầu tiên đặt khóa mặc định cho bitbucket.org. Cái thứ hai đặt khóa thứ hai của bạn thành một bí danh bitbucket-account2 cho bitbucket.org:

    Host bitbucket.org 
        Hostname bitbucket.org 
        IdentityFile ~/.ssh/id_rsa 
    
    Host bitbucket-account2 
        Hostname bitbucket.org 
        PreferredAuthentications publickey 
        IdentityFile ~/.ssh/<your second account name> 
    
  2. Bây giờ bạn có thể sao chép các dự án với mặc định tài khoản cùng một cách như trước:

    git clone [email protected]:username/project.git 
    
  3. Để sao chép một dự án với bản sắc thứ hai, thay thế bitbucket.org với Host bạn chỉ định trong file ~/.ssh/config (tức bitbucket-account2 trên):

    git clone [email protected]:username/project.git 
    

Đúng rồi!

+0

Điều này hoạt động hoàn hảo. Cảm ơn! –

+0

tùy chọn tuyệt vời để quản lý hai tài khoản –

+2

Tôi phải thêm khóa ssh bằng cách sử dụng lệnh sau: ssh-add ~/.ssh/

0

Bạn có thể thêm email của công ty bạn trong tài khoản bitbucket cá nhân của bạn, Trong tài khoản bitbucket quản lý trang:

enter image description here

Bạn có thể đăng nhập tài khoản email cá nhân của bạn, và các dự án truy cập cả hai dự án cá nhân và công ty trong bitbucket đơn tài khoản, chỉ sử dụng một khóa riêng ssh.

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