2012-04-06 59 views
6

Tôi tạo người dùng deploy, tạo ssh_key, tôi thêm id_rsa.pub làm khóa triển khai github.cách thêm khóa triển khai cho 2 repo với 1 người dùng trên github

deploy người dùng này cần kéo 2 repo, vì vậy tôi thêm cùng một ssh_key vào một repo khác làm khóa triển khai.

nhưng github cho tôi biết, triển khai khóa đã được sử dụng.

và tôi không biết cách thêm 2 id_rsa.pub cho 1 người dùng.

cập nhật:

Tôi thêm id_rsa_assets bổ sung, nhưng tôi vẫn không thể kéo.

ssh-add .ssh/id_rsa_assets 

Không thể mở kết nối với đại lý xác thực của bạn.

.ssh/config

Host guardians 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/id_rsa 

Host assets 
    Hostname github.com 
    User git 
    IdentityFile ~/.ssh/id_rsa_assets 
+0

Bản sao có thể có của [khóa github triển khai: cách tôi cho phép nhiều hơn một kho lưu trữ cho một máy duy nhất] (https://stackoverflow.com/questions/11656134/github-deploy-keys-how-do-i-authorize -more-hơn-một-kho-cho-một-đơn-mac) –

Trả lời

8

Bạn có thể tạo hai khóa công khai/riêng với bất cứ tên nào bạn muốn:

~/.ssh 
    repo1 
    repo1.pub 
    repo2 
    repo2.pub 

    config 

(Tức là nó không nhất thiết phải được đặt tên id_rsa(.pub) để làm việc, miễn là bạn cho biết ssh nơi cần tìm
Đó là nơi 'config' được phát hành: tệp config bao gồm tên của hai kết nối của bạn cho GitHub repo1 và GitHub repo2 với, cho mỗi kết nối, đường dẫn đến key repo tin của bạn, như được mô tả trong "change github account mac command line" và trong "Quick Tip: How to Work with GitHub and Multiple Accounts":

Host githubRepo1 
HostName github.com 
User git 
IdentityFile ~/.ssh/repo1 

Host githubRepo2 
HostName github.com 
User git 
IdentityFile ~/.ssh/repo2 

Bằng cách đó bạn có thể kéo từ bất kỳ của hai Repos, miễn là bạn đang sử dụng địa chỉ ssh của họ.

+0

khi tôi chạy ssh-add ~/.ssh/repo2 nó nói 'Không thể mở kết nối với tác nhân xác thực của bạn.' –

+1

@guilin 桂林: xem https://www.cs.indiana.edu/Facilities/FAQ/Security/openssh.html: thì phiên của bạn không chạy dưới 'ssh-agent'. Bạn có thể giải quyết vấn đề này bằng cách khởi động lại hệ vỏ mới bên dưới tác nhân bằng cách chạy: 'exec ssh-agent bash' nơi bạn có thể thay thế 'bash' bằng vỏ bạn chọn. Một khi bạn làm điều này, bạn sẽ có thể chạy 'ssh-add' để tải khóa của bạn cho shell đó. – VonC

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