Điểm:1

Có điều kiện dừng đăng nhập ssh tương tác và không tương tác và đưa ra thông báo lỗi

lá cờ cn

tôi muốn ngăn chặn tương táckhông tương tác đăng nhập ssh dựa trên logic có điều kiện. Tôi cần kiểm tra tên người dùng và đưa ra thông báo lỗi.

Những người sử dụng sftp (ssh không tương tác) cũng phải trải qua bài kiểm tra may mắn.

Làm thế nào tôi sẽ thực hiện điều đó? Tôi có toàn quyền kiểm soát hệ thống.

Tôi đã thử sử dụng sshd ForceCommand, nhưng theo https://stackoverflow.com/a/33714333/746461 nó không hoạt động cho notty.

Tôi không quen với PAM và tôi nghi ngờ liệu PAM có thể xuất thông báo lỗi tùy chỉnh trong trường hợp đăng nhập tương tác hay không.

https://linuxhint.com/under Hiểu_bash_shell_configuration_startup/ nói Shell đăng nhập không tương tác với --không có hồ sơ tùy chọn có thể bỏ qua tất cả các tệp cấu hình bash. Đó là lý do tại sao tôi không thể viết logic của mình ở đó.

Jeff Schaller avatar
lá cờ ru
Tôi sẽ đề xuất một cách tiếp cận hơi khác và đưa người dùng vào một nhóm, sau đó sử dụng chỉ thị Nhóm đối sánh của sshd_config để buộc lệnh loại /bin/false.
lá cờ cn
@JeffSchaller Bạn có thể nhận xét về https://stackoverflow.com/a/33714333/746461 không? Tôi nghĩ nó nói rằng ForceCommand không hoạt động cho notty
Điểm:2
lá cờ cn

Tôi đã tìm ra. Tôi có thể triển khai mô-đun PAM để làm điều đó.

Lưu phần sau vào, giả sử, tệp /root/checkConnections.

#! /bin/bash

giới hạn=$1
c=$(pgrep -xcu $PAM_USER sshd)
nếu [[ $c -ge "$limit" ]]; sau đó 
    echo "Cho phép kết nối ssh tối đa $limit, nhưng bạn có $c."
    thoát 1
fi

Sau đó, trong /etc/pam.d/sshd, thêm

phiên yêu cầu pam_exec.so stdout /root/checkConnections 5

pam_exec.so thực thi tập lệnh shell, tiêu chuẩn xuất thông báo cho người dùng cuối.

Khi điều kiện không thành công, hiệu ứng là như thế này.

$ ssh máy chủ cục bộ
Chào mừng bạn đến với Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-74-chung x86_64)

94 bản cập nhật có thể được cài đặt ngay lập tức.
0 trong số các bản cập nhật này là bản cập nhật bảo mật.
Để xem các bản cập nhật bổ sung này, hãy chạy: apt list --upgradable

Cho phép tối đa 5 kết nối ssh, nhưng bạn có 5.
/root/checkConnections không thành công: mã thoát 1
Lần đăng nhập cuối: Thu 24 tháng 6 12:19:27 2021 từ 172.18.33.67
Đã đóng kết nối với máy chủ cục bộ.

Đă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.