Câu hỏi Làm cách nào để lưu cụm mật khẩu khóa SSH cho quá trình không giám sát?


Tôi đã tạo khóa RSA được bảo vệ bằng mật khẩu. Khóa công khai được cài đặt trên máy chủ từ xa trong authorized_keys trong của người dùng .ssh danh mục.

Từ yêu cầu máy chủ, tôi có thể SSH vào máy chủ từ xa mà không có một vấn đề, nhưng tôi cần phải nhập mật khẩu mỗi khi tôi làm điều này.

Tôi muốn sử dụng khóa này cho một máy chủ Munin để SSH vào một nút Munin và nhận dữ liệu, do đó thủ tục không thành công vì cụm mật khẩu.

Tôi đã nghĩ đến hai lựa chọn:

  1. Xóa cụm mật khẩu khỏi khóa.
  2. Lưu cụm từ mật khẩu ở đâu đó, có thể trong tệp cấu hình?

Có giải pháp nào tốt hơn không?

Tôi nghĩ ssh-agent có nghĩa vụ phải làm một cái gì đó như thế này, nhưng tôi không thể tìm thấy thông tin ngắn gọn về nó.


2
2018-04-14 13:31


gốc




Các câu trả lời:


Bạn có thể dùng ssh-agent để làm điều này. Nó cho phép bạn lưu trữ một mật khẩu trong bộ nhớ, thay vì trên đĩa. Có một lời giải thích tốt về việc này cho các công việc hàng loạt ở đây: http://www.akadia.com/services/ssh_agent.html.

Về cơ bản, bạn:

  1. Chạy ssh-agent trong nền khi người dùng sẽ khởi tạo kết nối SSH.
  2. Sử dụng ssh-add lệnh để thêm khóa cho tác nhân. Nó sẽ nhắc mật khẩu.

Bạn có thể tự động hóa hoạt động của ssh-agent bằng cách thêm nó vào một tập lệnh chạy lúc khởi động, nhưng bạn vẫn cần phải thủ công đại lý bằng khóa để nhập cụm mật khẩu. Vì vậy, nếu bạn khởi động lại, ví dụ, bạn sẽ phải nhớ để làm điều này.

Điểm cần xem xét là những gì bạn đang cố gắng đạt được bằng cách có cụm mật khẩu trên khóa đang được sử dụng, cho rằng đây là một hệ thống tự động.

  1. Nếu bạn sử dụng khóa có cụm mật khẩu và lưu trữ nó trong tệp cấu hình thì bất kỳ ai có quyền truy cập vào khóa đều có thể truy cập vào tệp cấu hình vì cả hai đều cần có thể truy cập bởi cùng một người dùng.
  2. Nếu bạn dùng ssh-agent để lưu trữ cụm mật khẩu thì nó vẫn cần phải chạy trên cùng một máy với khóa. Sẽ khó để có được mật khẩu trong bộ nhớ hơn là từ một tập tin, nhưng bạn đã làm cho công việc của họ khó hơn là không thể không thể. Tuy nhiên, nếu họ có được khóa mà không nhận được quyền truy cập vào máy (ví dụ: từ bản sao lưu), thì tùy chọn này sẽ an toàn hơn.
  3. Nếu bạn không đặt cụm mật khẩu, ai đó nhận khóa không còn phải làm gì để có thể sử dụng nó.

Trong cả ba kịch bản này, bạn sẽ khôn ngoan để lên kế hoạch cho tồi tệ hơn và thực hiện các bước để giảm thiểu thiệt hại có thể được thực hiện bởi người có quyền truy cập vào một khóa có thể sử dụng. Ví dụ: bạn có thể:

  • Sử dụng tài khoản người dùng cụ thể chỉ có quyền truy cập vào dữ liệu đang được truy xuất.
  • Sử dụng một khóa chỉ được sử dụng cho mục đích này.
  • Hạn chế máy chủ lưu trữ mà chủ sở hữu khóa có thể SSH.
  • Hạn chế lệnh nào có thể chạy bằng phím - xem điều này.

Trên sự cân bằng, chỉ có bạn mới có thể cân nhắc những ưu và khuyết điểm của những cách tiếp cận này và liệu một quy trình thủ công có thể chấp nhận được trong hoàn cảnh của bạn hay không.


2
2018-04-14 15:03