SSH khóa riêng và chung cho nhiều người dùng, người dùng root và sudo (VP)


1

Tôi muốn hỏi làm thế nào tôi có thể sử dụng cùng một xác thực (SSH khóa riêng và chung) cho người dùng root và cho một người dùng khác (người dùng sudo) trên VPS.

Hoặc, về mặt bảo mật, tốt nhất là thực hiện quá trình tạo và tải khóa (tôi sử dụng puttygen) trực tiếp như một người dùng sudo?

Vô hiệu hóa sau đó đăng nhập root và không áp dụng xác thực khóa trên root? Cái này có an toàn không?

Cảm ơn bạn rất nhiều vì sự giúp đỡ, tôi bắt đầu phát điên .. :(

Câu trả lời:


1

Rất nhiều câu hỏi (riêng biệt) khác nhau ở đây ...

Cân nhắc thực tế

Để sử dụng cùng một cặp khóa cho nhiều người dùng, bạn chỉ cần sao chép nội dung (một số hoặc tất cả) ~/.ssh/authorized_keysvào ${HOME}/.ssh/authorized_keystệp của người dùng khác . Bạn sẽ cần đảm bảo các quyền trên .sshthư mục và authorized_keystệp đủ chặt chẽ hoặc máy chủ SSH có thể bị lỗi và từ chối xử lý. Đối với một ý tưởng: chỉ người dùng hiện tại mới cần truy cập vào các tệp đó và họ không cần phải ghi vào hoặc thực thi chúng, vì vậy, quyền 400 cho tệp và 500 cho thư mục (cần thực thi để bạn có thể thực hiện liệt kê nội dung của nó) sẽ ổn Xem ở đây để biết thông tin về mặt nạ cấp phép nếu bạn không quen.

Cân nhắc về Bảo mật

Đầu tiên, luôn luôn là một ý tưởng tốt để vô hiệu hóa đăng nhập root hoàn toàn qua SSH và đặt mật khẩu gốc (an toàn) riêng biệt trên hộp. sudochỉ có cùng mức độ bảo mật như suthể người dùng sudoers của bạn có mật khẩu an toàn; nếu không, nó không phải là.

Nếu bạn thấy mình thường xuyên cần root, bạn nên tìm cách cung cấp các quyền cụ thể được nhắm mục tiêu cho người dùng để đáp ứng các trường hợp sử dụng phổ biến nhất về cách bạn sẽ sử dụng máy chủ. Điều này sẽ làm giảm nhu cầu đăng nhập với quyền root, vốn luôn có rủi ro cao do các quyền mở rộng.

Để tăng cường hơn nữa máy chủ SSH của bạn, bạn nên:

  • Thay đổi cổng của nó từ 22 mặc định thành một số có số có 5 chữ số (nhỏ hơn 65536, do số cổng là giá trị 16 bit)
  • Vô hiệu hóa đăng nhập SSH dựa trên mật khẩu cho tất cả người dùng (không chỉ root)
  • Sử dụng bàn phím mạnh với khóa riêng 2048 bit hoặc 4096 bit. Luôn sử dụng RSA, không phải các nhóm yếu hơn như DSA.
  • Đặt mật khẩu mạnh cho tất cả các sudoers cũng như root.

Câu hỏi về việc có nên sử dụng lại cùng một cặp khóa hay không nếu bạn tắt đăng nhập root. Nếu bạn cần nhiều người dùng thường xuyên và bạn là người thực tế duy nhất sẽ đăng nhập vào máy chủ, tôi sẽ không thấy bất kỳ tác hại nào khi sử dụng lại cùng một cặp khóa bằng cách sao chép tệp ủy quyền. Nếu bạn sẽ có nhiều người thuê trong hộp, mỗi người nên có cặp chìa khóa riêng.


ràng buộc ssh với một cổng trên 1023 chỉ là yêu cầu sự cố vì bất kỳ ai trên hệ thống đều có thể liên kết ở đó và đánh cắp thông tin đăng nhập. Các khuyến nghị khác là tốt. Ngoại trừ tôi sẽ tránh sử dụng sudo trừ khi người ta cần thay đổi vai trò của Selinux
galaxy

Luôn luôn là một ý tưởng tốt để vô hiệu hóa đăng nhập root hoàn toàn qua SSH, - ý bạn là đăng nhập dựa trên mật khẩu? hoặc đăng nhập root hoàn toàn (gây ra sự cố cho hệ thống từ xa)?
Evgeny

0

Để xác thực cho nhiều người dùng, chỉ cần thêm khóa SSH công khai vào cả ~/.ssh/authorized_keystệp người dùng thông thường và tệp gốc ~/.ssh/authorized_keys. Sau đó, bạn có thể chọn tài khoản để đăng nhập bằng cách chọn tên người dùng trong chương trình khách hàng của mình.

Nó được sử dụng để thực hành tốt nhất nói chung để vô hiệu hóa hoàn toàn đăng nhập root và luôn sử dụng một người dùng bình thường để đăng nhập và sử dụng sudohoặc su. Tuy nhiên, với xác thực khóa công khai, nguy cơ ai đó vũ phu buộc khóa của bạn là tối thiểu. Nếu bạn không đặt mật khẩu cho người dùng root thì rất nhiều người sẽ nói rằng bạn có thể đăng nhập bằng root. Nếu bạn muốn thêm một lớp bảo mật, hãy tắt đăng nhập root, đặt mật khẩu cho người dùng bình thường (vì vậy hãy sudohỏi bạn khi bạn sử dụng nó) và sử dụng xác thực khóa chung cho người dùng bình thường để đăng nhập.


0

Cảm ơn rât nhiều! Vì vậy, tôi có:

  • Tạo khóa công khai và khóa riêng với PuttyGen (SSH-2 RSA, 4096 bit và thêm cụm mật khẩu);
  • Đã tải lên khóa công khai trên máy chủ (trước đây cho người dùng sudo và sau đó cho root);
  • Thay đổi số lượng cảng;
  • PermitRootLogin không, PubkeyAuthentication có, PasswordAuthentication no.

Theo cách này:

  • Nếu tôi cố gắng đăng nhập với tư cách người dùng root hoặc sudo và tôi không có khóa riêng tư trên Putty, tôi đã "Ngắt kết nối: Không có phương thức xác thực được hỗ trợ nào (máy chủ đã gửi: khóa công khai)", không yêu cầu mật khẩu;
  • Nếu tôi cố đăng nhập bằng root + key private = nó sẽ hỏi cụm mật khẩu nhưng sau đó lỗi "Máy chủ từ chối chữ ký khóa công khai mặc dù chấp nhận khóa" và "Ngắt kết nối";
  • Nếu tôi thử với sudo user + key private + cụm mật khẩu chính xác = tôi có thể đăng nhập

Bây giờ truy cập vào SSH nên chắc chắn 99%, phải không?

Cảm ơn rât nhiều

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.