Có thể chia sẻ tệp khóa riêng giữa nhiều máy tính / dịch vụ không?


110

Vì vậy, tất cả chúng ta đều biết cách sử dụng khóa chung / khóa riêng bằng SSH, v.v. Nhưng cách tốt nhất để sử dụng / tái sử dụng chúng là gì? Tôi có nên giữ chúng ở một nơi an toàn mãi mãi? Ý tôi là, tôi cần một cặp chìa khóa để truy cập GitHub. Tôi đã tạo một cặp từ đầu và sử dụng nó trong một thời gian để truy cập GitHub. Sau đó, tôi định dạng ổ cứng của mình và mất cặp đó. Vấn đề lớn, tôi đã tạo một cặp mới và cấu hình GitHub để sử dụng cặp mới của mình. Hay đó là thứ mà tôi không muốn mất?

Tôi cũng cần một cặp khóa công khai / khóa riêng để truy cập vào hệ thống công ty của chúng tôi. Quản trị viên của chúng tôi đã hỏi tôi về khóa công khai của tôi và tôi đã tạo một cặp mới và đưa nó cho anh ta. Nói chung là tốt hơn để tạo một cặp mới để truy cập vào các hệ thống khác nhau hay tốt hơn là có một cặp và tái sử dụng nó để truy cập các hệ thống khác nhau? Tương tự, tốt hơn là tạo hai cặp khác nhau và sử dụng một cặp để truy cập hệ thống của công ty chúng tôi ở nhà và một cặp khác để truy cập hệ thống từ cơ quan, hay tốt hơn là chỉ cần có một cặp và sử dụng nó từ cả hai nơi?


Đây không phải là câu trả lời trực tiếp cho câu hỏi của bạn, nhưng cũng nên có cụm mật khẩu cho mỗi khóa. Lý tưởng nhất là các cụm mật khẩu riêng biệt cho mỗi khóa (sử dụng trình quản lý mật khẩu). Lý do là như sau: Nếu một khóa riêng bị xâm phạm (máy tính xách tay bị đánh cắp, máy tính bị hack), thì bạn phải mất một thời gian trước khi khóa có thể bị ép buộc và bạn có thể thay thế khóa công khai trên tất cả các máy có nó , trước khi kẻ tấn công của bạn có thể. Nguồn: help.ubuntu.com/community/SSH/OpenSSH/...
Xandor Schiefer

Câu trả lời:


86

Bạn chắc chắn nên có khóa riêng cho mỗi nguồn gốc . Về cơ bản điều đó có nghĩa là thường phải có một bản sao của mỗi khóa riêng (không tính các bản sao lưu). Bạn có thể sử dụng cùng một khóa riêng từ máy có liên quan chặt chẽ, trong trường hợp đột nhập vào một cơ bản cho phép bạn truy cập vào máy khác (ví dụ: nếu chúng ở trong nhau shosts.equiv). Không sử dụng cùng một khóa riêng trên các máy ở các lĩnh vực khác nhau (ví dụ: nhà và cơ quan), không bao giờ chia sẻ khóa riêng giữa hai người dùng và không bao giờ chia sẻ khóa riêng giữa máy tính xách tay và bất kỳ máy nào khác.

Đối với hầu hết các phần, tôi không thấy điểm có các khóa riêng khác nhau cho các điểm đến khác nhau. Nếu một khóa riêng bị xâm phạm, tất cả các khóa riêng khác được lưu trong cùng thư mục chắc chắn cũng sẽ bị xâm phạm, do đó sẽ có thêm sự phức tạp vì không có lợi ích bảo mật.

Nếu bạn tuân theo các nguyên tắc này, mỗi cặp khóa sẽ xác định một cặp (máy, người dùng), giúp quản lý ủy quyền dễ dàng hơn.

Tôi có thể nghĩ về hai ngoại lệ cho quy tắc chung của một khóa riêng cho mỗi nguồn gốc:

  • Nếu bạn có khóa không mật khẩu chỉ cấp quyền truy cập vào một lệnh cụ thể trên một máy cụ thể (ví dụ: cơ chế thông báo hoặc sao lưu tự động), khóa đó phải khác với khóa truy cập shell chung.
  • Nếu một số máy được kết nối không liên tục, bạn có thể có một khóa riêng cũ bên cạnh một khóa riêng mới, cho đến khi bạn có được xung quanh để hoàn thành việc triển khai khóa mới.

5
Đây là cách tôi luôn sử dụng khóa của mình. Tôi không hiểu tại sao GitHub lại ủng hộ việc tạo ra một cặp khóa mới trong hướng dẫn thiết lập của họ. Tôi bỏ qua điều đó và sử dụng khóa tuyệt vời của tôi. Tôi cho rằng họ đang bảo thủ.
toolbear74

Ok, vì vậy bạn nói "Không sử dụng cùng một khóa riêng trên các máy ở các vương quốc khác nhau" nhưng nếu DNS giải quyết một tên máy chủ nhất định cho một trong hai máy tùy thuộc vào vị trí của bạn thì sao? Không chia sẻ khóa riêng, tôi nhận được cảnh báo hoặc lỗi khi tôi cố gắng ssh hoặc rsync với tên máy chủ đó vì ssh bị nhầm lẫn khi có hai khóa riêng cho cùng một tên máy chủ.
Michael

@Michael Tôi không hiểu bạn có thể gặp vấn đề gì với các khóa người dùng trong kịch bản bạn mô tả, đó là chủ đề này nói về vấn đề gì. SSH sẽ bị nhầm lẫn về các khóa máy chủ , nhưng với tư cách là người dùng, những gì bạn thấy là khóa chung của máy chủ chứ không phải khóa riêng của máy chủ và chia sẻ khóa riêng của máy chủ là nguy hiểm - Tôi chỉ khuyên rằng nếu máy chủ hoàn toàn tương đương (dự phòng trong trường hợp một trong số họ thất bại), và có lẽ thậm chí là không.
Gilles

À, được rồi Có vẻ như không có nhiều sự phân biệt rõ ràng giữa hai người, và người ta chỉ cho rằng bạn biết người nào đang được nói đến.
Michael

1
@JSBach Có các khóa riêng biệt cho mỗi vương quốc cho phép bạn xác định các quyền chi tiết hơn (khóa được lưu trữ trong vương quốc bảo mật thấp A được phép sử dụng giữa các máy của A, nhưng đăng nhập vào B yêu cầu hệ số xác thực mạnh hơn) và cho phép bạn thu hồi chúng riêng biệt (vương quốc A đã bị xâm phạm, nhưng tôi vẫn có thể đăng nhập vào C từ B). SSO là trường hợp bạn đăng nhập vào hệ thống bảo mật cao nhất và sau đó bạn có thể đăng nhập ở nơi khác. Tôi không biết những rủi ro mà họ thấy khi có nhiều khóa cho mỗi người dùng. Đây sẽ là một chủ đề cho An toàn thông tin .
Gilles

4

Tôi không biết cách tốt nhất là gì nhưng tôi có thể biết cách của mình là gì.

Là một sysadmin, tôi sử dụng một khóa khác để truy cập từng máy chủ / dịch vụ với quyền root. Bằng cách này, nếu một khóa bị mất hoặc bị xâm phạm, tôi sẽ hạn chế rủi ro cho một máy chủ duy nhất và tôi không cần cập nhật tất cả các dịch vụ của mình bằng các khóa hoàn toàn mới.

Nói về người dùng, tôi sử dụng một khóa khác nhau cho mỗi người trong số họ. Với khóa đó, người dùng có thể truy cập dịch vụ mà anh ta cần với tư cách là người dùng không có quyền. Bằng cách này, tôi có thể dễ dàng cấp hoặc thu hồi quyền truy cập vào các dịch vụ duy nhất cho mỗi người dùng. Trong trường hợp người dùng mất chìa khóa của mình, tôi có thể xóa nó khỏi tất cả các dịch vụ và hạn chế rủi ro truy cập trái phép.


+1 Tôi sẽ nói chuyện với sếp của tôi về chính sách sử dụng khóa mới ;-) cho mỗi máy chủ / dịch vụ nghe có vẻ an toàn hơn so với chỉ trên mỗi mạng
Diskilla

1

Tôi tin rằng bạn có thể sử dụng khóa riêng ở bất cứ đâu miễn là bạn đặt cụm mật khẩu, nghĩa là nếu bạn muốn chia sẻ khóa riêng của mình với một số máy, giả sử máy tính xách tay 1, 2, máy tính để bàn 1, 2, sẽ ổn.

Theo kinh nghiệm của tôi, máy chính của tôi là máy tính để bàn của tôi, tôi làm hầu hết công việc với bộ xử lý mạnh mẽ của nó, nhưng đôi khi tôi cần sử dụng máy tính xách tay của mình trên điện thoại di động, khắc phục sự cố trong trung tâm dữ liệu và công cụ, vì vậy, tôi vẫn có thể đăng nhập vào bất kỳ máy chủ nào rằng tôi có khóa công khai của tôi nằm trong.


1
Đọc câu trả lời tốt nhất ở đây. Bạn đang làm sai. Không phải là bạn không thể làm theo cách đó mà là không nên.
PhilT

2
Không thể thấy lý do tại sao tất cả các downvote. Mạng đại học (ví dụ) thường có một thư mục nhà được nối mạng, do đó, khóa riêng được sử dụng ở mọi nơi bởi người dùng, ngay cả trên máy tính xách tay bạn được cung cấp. Miễn là bạn không sao chép nó không được mã hóa qua internet, thì tôi nghĩ sẽ ổn nếu bạn hiểu rủi ro. Bloody cũng thuận tiện hơn theo cách đó, không phải thêm khóa công khai của bạn vào 2.000 địa điểm khác nhau chỉ vì bạn đã đăng nhập vào một máy khác.
Asfand Qazi

Nâng cao vì bạn không nên mất đại diện cho câu trả lời này. Đó là sở thích cá nhân, rõ ràng là sử dụng một khóa riêng cho mỗi dịch vụ và máy cuối cùng mang lại cho bạn nhiều quyền kiểm soát hơn, nhưng đôi khi điều đó chỉ lãng phí thời gian tùy thuộc vào trường hợp sử dụng của bạn.
Daniel Dewhurst

0

Tại công ty của tôi, chúng tôi sử dụng những người dùng cụ thể này. Điều đó có nghĩa là trường hợp hai. Người dùng có khóa riêng của mình và khóa này được sử dụng cho mọi máy anh ta sử dụng để kết nối với hệ thống công ty. ý kiến ​​của tôi là sử dụng một khóa cho một hệ thống. Điều đó có nghĩa là bạn sử dụng phím này trên mọi máy bạn cần để kết nối với các mạng cụ thể. Đối với trường hợp của bạn, đó sẽ là một khóa cho GitHub và một khóa cho hệ thống công ty. Vì vậy, nếu quản trị viên của bạn hỏi lại bạn, tôi sẽ đưa cho anh ta chìa khóa giống như lần trước. không phải là một cái mới Nhưng, tôi không biết nếu có một chính sách sử dụng chung cho các khóa này và tôi đã làm sai từ bao giờ. Điều đó chắc chắn là có thể ;-)


0

Khóa công khai bạn tạo là dành cho tất cả mọi người. Nó sẽ cho phép họ a) kiểm tra tính xác thực b) mã hóa cho bạn

Khóa riêng là, tốt, riêng tư. Nó chỉ dành cho bạn. Và đó là chìa khóa bạn nên sao lưu ở đâu đó, ở một nơi an toàn. Bạn cũng có thể mã hóa nó bằng mật khẩu an toàn nếu bạn lưu nó trên thẻ USB chẳng hạn.

Khóa công khai là danh tính của bạn cho người khác. Vì vậy, không có vấn đề gì / tốt hơn là sử dụng một cặp chìa khóa cho mọi thứ, ít nhất là khi bạn không muốn sử dụng danh tính mới rõ ràng, vì vậy những người khác sẽ không biết đó là bạn.


3
Cảm ơn, nhưng câu trả lời của bạn, chủ yếu, không liên quan đến câu hỏi của tôi. Xem câu trả lời của @ Diskilla.
Behrang
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.