Tôi có thể có nhiều khóa ssh trong thư mục .ssh của mình không?


30

Tôi có thể tạo nhiều khóa ssh và đổi tên chúng thành tên thân thiện với người dùng để tôi biết khóa nào dành cho trang web nào không, v.v.

Cái này có an toàn không?

ví dụ:

github_id_rsa
github_id_rsa.pub
..
...

Làm thế nào nó sẽ biết phím nào để kiểm tra khi kết nối?

Trên máy tính của tôi bây giờ, khi tôi nhìn vào know_host, tất cả chúng dường như có cùng một khóa theo tên của máy chủ ??



Ngoài ra, các khóa máy chủ đã biết chắc chắn không giống nhau, chỉ cần nhìn vào phần cuối của dòng cho mỗi máy chủ.
slhck

Câu trả lời:


15

Có bạn có thể có các phím ssh khác nhau. Có tài liệu rất tốt trên trang Trợ giúp GitHub tại Help.GitHub - Nhiều khóa SSH . Về cơ bản, bạn sẽ sử dụng ssh-add để thêm các phím phụ để tác nhân có thể sử dụng chúng. Sau đó, bạn thiết lập cấu hình máy chủ ssh để mọi kết nối ssh đến các miền khác nhau sẽ được tra cứu tại đây và khóa thích hợp sẽ được sử dụng. chúc may mắn!


1
Liên kết không còn hoạt động
danwellman 19/2/2015


44

Bạn có thể sửa đổi tệp ~ / .ssh / config để sử dụng tệp nhận dạng khác nhau cho các máy chủ khác nhau. Chỉnh sửa ~ / .ssh / config trong trình chỉnh sửa yêu thích của bạn và thêm một mục phù hợp với tình huống của bạn như vậy:

Host *
IdentityFile ~/.ssh/id_rsa

Host *.github.*
IdentityFile ~/.ssh/github_id.rsa

Host *.someother.com
IdentityFile ~/.ssh/someother_id.rsa

Phần đầu tiên ở trên đặt mặc định cho tất cả các máy chủ và các phần khác ghi đè những gì nên được sử dụng cho mỗi máy chủ phù hợp với các mẫu. Nếu bạn có tên người dùng khác nhau cho mỗi máy chủ, thì bạn có thể thêm khóa Người dùng theo sau là tên người dùng trên điều khiển từ xa vào phần.


3
Đây là câu trả lời hữu ích nhất cho câu hỏi này bất kể đích đến là GitHub hay các trang khác.
Pierre

Điều này không hoạt động nếu bạn có nhiều tài khoản bitbucket và không cần phải có các khóa khác nhau cho mỗi tài khoản.
John Little

chmod 400 ~/.ssh/id_rsahoặc chmod 400 ~/.ssh/foo_id.rsacó thể là cần thiết.
T.Woody

@JohnLittle Hãy xem câu trả lời của tôi để giải quyết tài khoản nhiều người dùng cho cùng một tên miền.
Sathishkumar Rakkiasamy

4

Bạn có thể thiết lập nhiều khóa ssh cho bất kỳ trang web nào có nhiều tài khoản người dùng

Dưới đây là ví dụ tôi từng theo dõi trong quá trình phát triển của mình cho GitHub.com

Ví dụ tập tin cấu hình

#Personal account
 Host github.com-<personal-account-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_personal
 IdentitiesOnly yes



#Organization account
 Host github.com-<organization-name>
 HostName github.com
 User git
 IdentityFile ~/.ssh/id_rsa_work
 IdentitiesOnly yes

Tại thời điểm thêm một nguồn gốc mới

Đối với tài khoản cá nhân

git remote add origin git@github.com-<personal-account-name>:<personal-account-name>/<repo-name>.git

Đối với tài khoản tổ chức

git remote add origin git@github.com-<organization-name>:<organization-name>/<repo-name>.git

Hy vọng nó giúp.

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.