Điểm:0

Không sao chép/dán xác thực SSH dựa trên khóa công khai

lá cờ cn

Tôi muốn xóa quy trình sao chép thủ công các khóa công khai tới từng máy chủ để cấp quyền truy cập.

Vấn đề chính mà tôi đang cố giải quyết ở đây là:

  • Có nhiều máy chủ trên nhiều nhà cung cấp đám mây.
  • Bất cứ khi nào một người mới tham gia nhóm, chúng tôi phải sao chép khóa công khai của họ tới tất cả các máy chủ để họ có thể đăng nhập.
  • Quá trình này lặp đi lặp lại và rườm rà và tôi muốn xóa phần sao chép-dán này bằng một số loại cơ chế xác thực tùy chỉnh.

Tôi đã xem xét:

  • Xác thực ssh dựa trên trình xác thực của Google

    • Điều này yêu cầu thiết lập môi trường trên tất cả các máy chủ để nó có thể hoạt động tốt nhưng tất cả các máy chủ sẽ có khóa riêng và người dùng sẽ phải đăng ký lần lượt cho tất cả các máy chủ.
    • Ngoài ra, sẽ có nhiều TOTP xuất hiện trong ứng dụng Google Authenticator, một TOTP cho mỗi máy chủ, điều này có thể gây nhầm lẫn và trải nghiệm này có vẻ không tốt.
    • Nếu phần khớp mã thông báo bằng cách nào đó có thể được giảm tải đến máy chủ trung tâm và máy chủ ssh chỉ cần chuyển mã thông báo đến máy chủ đó thì phương pháp này có thể hoạt động.
  • Tôi đã thấy điều này với máy chủ Azure: Đối với máy chủ Azure, nếu đăng nhập dựa trên Azure được bật thì bất cứ khi nào người dùng cố gắng đăng nhập vào máy chủ (sau khi thực hiện lệnh ssh vào thiết bị đầu cuối), trình duyệt sẽ mở ra và người dùng được yêu cầu nhập email và mật khẩu vào đó và khi đăng nhập thành công, họ sẽ được cung cấp mã thông báo. Sau đó, người dùng phải nhập mã thông báo vào thiết bị đầu cuối để truy cập máy chủ.

    • Tôi đang cố gắng tìm công nghệ này được gọi là gì và liệu có phiên bản miễn phí nào không?
  • Tạo người dùng Linux bằng mật khẩu và sau đó chia sẻ tên người dùng/mật khẩu trong nhóm để họ có thể sử dụng. Sau đó, nó có thể được chia sẻ trên Lastpass với tên người dùng và IP. Cách tiếp cận này không giúp ích gì cho việc kiểm tra nhưng nó có thể hiệu quả và tôi đã giữ nó như là phương án cuối cùng.

Cảm ơn!

Điểm:1
lá cờ us
  1. Xin chào, nếu tôi hiểu vấn đề của bạn, tôi nghĩ vấn đề có thể được giải quyết bằng cách tạo một tập lệnh đơn giản bằng bản sao tệp bảo mật OpenSSH scp chỉ huy.

  2. Nếu tất cả nhóm cần có cùng quyền đối với cùng một máy chủ thì đề xuất của tôi là:

    • tạo tệp ủy quyền trong máy tính của riêng bạn.
    • cập nhật tệp đó theo nhu cầu của nhóm theo cách thủ công. (có thể dùng một đoạn script cho hai cái đó).
  3. Tạo tập lệnh để tự động sao chép các khóa được ủy quyền đã cập nhật từ máy tính sang máy chủ của bạn:

    • scp cần có quyền đối với các máy chủ để hoạt động, đó là lý do tại sao tập lệnh sẽ chạy từ máy tính của bạn hoặc bất kỳ người quản lý nào khác.
  4. Xác định vị trí tập lệnh trong /usr/local/sbin/. trên máy của bạn, để có tùy chọn chạy tập lệnh từ bất kỳ thư mục nào trên máy tính của bạn.

  5. Cấp cho tập lệnh quyền thực thi bằng lệnh chmod a+x /usr/local/sbin/scriptName.

    • Kịch bản:
#/bin/bash!

đọc -p "Vui lòng nhập đường dẫn:" -r r1

scp $r1 username@serverip:/home/username/.ssh/authorized_keys
#scp $r1 username@serverip:/home/username/.ssh/authorized_keys
#scp $r1 username@serverip:/home/username/.ssh/authorized_keys
#thêm nhiều máy chủ nếu cần....
#bạn cũng có thể sử dụng nút chuyển để sử dụng máy chủ nào phù hợp với người dùng mới.

Lưu ý rằng nếu bạn đang chạy dịch vụ ssh của mình trên các cổng khác vì lý do bảo mật hoặc các lý do khác, bạn nên chạy scp lệnh với -P Tùy chọn.

scp -P sshPort $r1 username@serverip:/home/username/.ssh/authorized_keys.

Hình ảnh ví dụ về tập lệnh đang chạy trên máy chủ của riêng tôi: nhập mô tả hình ảnh ở đây

  1. Như tôi đã nói trước đây, bạn có thể làm cho tập lệnh tốt hơn và thêm một số bộ lọc bằng cách "chuyển đổi" để chọn máy chủ mà bạn muốn thêm khóa vào.
  2. Nếu tình huống đơn giản như bạn đã nói và mỗi thành viên trong nhóm tham gia cần có quyền đối với tất cả các máy chủ, thì giải pháp này sẽ hiệu quả.

Hy vọng rằng sẽ giúp bạn ra người bạn đời.

Hãy comment nếu có gì chưa hiểu hoặc cần trợ giúp thêm về trường hợp này.

Pallav Jha avatar
lá cờ cn
Xin chào @CrazyTux - Cảm ơn câu trả lời. Tôi hiện đang tìm cách tách logic xác thực ssh với cơ sở người dùng để các bước như sao chép/dán hoặc chuyển khóa bị xóa. Tôi hiện đang xem xét xác thực dựa trên LDAP để khi tài khoản của người dùng được tạo ở đó thì tất cả các máy chủ sẽ sử dụng tài khoản đó để xác thực.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.