Score:1

หยุดการเข้าสู่ระบบ ssh แบบโต้ตอบและไม่โต้ตอบแบบมีเงื่อนไข และให้ข้อความแสดงข้อผิดพลาด

ธง cn

ฉันต้องการป้องกัน เชิงโต้ตอบ และ ไม่โต้ตอบ เข้าสู่ระบบ ssh ตามตรรกะแบบมีเงื่อนไข ฉันต้องทดสอบชื่อผู้ใช้และแจ้งข้อความแสดงข้อผิดพลาด

ผู้ที่ใช้ sftp (non-interactive ssh) ควรได้รับการทดสอบความโชคดีด้วย

ฉันจะนำไปใช้ได้อย่างไร ฉันมีอำนาจควบคุมระบบทั้งหมด

ฉันพยายามใช้ sshd ForceCommand แต่ตาม https://stackoverflow.com/a/33714333/746461 มันใช้ไม่ได้ผล

ฉันไม่คุ้นเคยกับ PAM และฉันสงสัยว่า PAM สามารถแสดงข้อความแสดงข้อผิดพลาดที่กำหนดเองได้หรือไม่ในกรณีที่การเข้าสู่ระบบเป็นแบบโต้ตอบ

https://linuxhint.com/understanding_bash_shell_configuration_startup/ กล่าวว่าเชลล์ล็อกอินแบบไม่โต้ตอบด้วย --noprofile ตัวเลือกสามารถข้ามไฟล์ปรับแต่ง bash ทั้งหมด นั่นเป็นเหตุผลที่ฉันไม่สามารถเขียนตรรกะของฉันที่นั่นได้

Jeff Schaller avatar
ru flag
ฉันอยากจะแนะนำวิธีการที่แตกต่างออกไปเล็กน้อยและจัดผู้ใช้ลงในกลุ่ม จากนั้นใช้คำสั่ง Match Group ของ sshd_config เพื่อบังคับคำสั่งประเภท /bin/false
cn flag
@JeffScholler คุณแสดงความคิดเห็นเกี่ยวกับ https://stackoverflow.com/a/33714333/746461 ได้ไหม ฉันคิดว่ามันกำลังบอกว่า ForceCommand ใช้งานไม่ได้
Score:2
ธง cn

ฉันคิดออก ฉันสามารถใช้โมดูล PAM เพื่อทำเช่นนั้นได้

บันทึกต่อไปนี้เป็นไฟล์ /root/checkConnections.

#! /ถัง/ทุบตี

จำกัด = $ 1
c=$(pgrep -xcu $PAM_USER sshd)
ถ้า [[ $c -ge "$limit" ]]; แล้ว 
    echo "อนุญาตการเชื่อมต่อ $limit ssh สูงสุด แต่คุณมี $c"
    ทางออก 1
ไฟ

จากนั้นใน /etc/pam.d/sshd ให้เพิ่ม

ต้องการเซสชัน pam_exec.so stdout /root/checkConnections 5

pam_exec.so รันเชลล์สคริปต์ แย่ ส่งข้อความไปยังปลายทางของผู้ใช้

เมื่อเงื่อนไขล้มเหลวเอฟเฟกต์จะเป็นแบบนี้

$ ssh โลคอลโฮสต์
ยินดีต้อนรับสู่ Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-74-generic x86_64)

สามารถติดตั้งอัปเดต 94 ได้ทันที
0 รายการอัพเดทเหล่านี้เป็นรายการอัพเดทด้านความปลอดภัย
หากต้องการดูการเรียกใช้การอัปเดตเพิ่มเติมเหล่านี้: apt list --upgradable

อนุญาตการเชื่อมต่อ ssh สูงสุด 5 รายการ แต่คุณมี 5
/root/checkConnections ล้มเหลว: ออกรหัส 1
เข้าระบบครั้งล่าสุด: พฤ. 24 มิ.ย. 12:19:27 น. 2021 จาก 172.18.33.67
ปิดการเชื่อมต่อกับ localhost

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา