เป็นไปได้ไหมที่ sshd ยอมรับรหัสผ่านในบางพอร์ตเท่านั้น?


24

ฉันรู้ว่าเป็นไปได้ที่จะsshdฟังบนหลายพอร์ตโดยใช้หลายPortคำสั่ง เป็นไปได้หรือไม่ที่จะปรับการตั้งค่าต่อพอร์ตอย่างอิสระ โดยเฉพาะอย่างยิ่งเป็นไปได้หรือไม่ที่จะมีหนึ่งพอร์ตอนุญาตให้ใช้การพิสูจน์ตัวตนด้วยรหัสผ่าน แต่พอร์ตอื่นไม่อนุญาตหรือไม่


1
โดยวิธีการ: เหตุผลที่ฉันทำเช่นนี้คือฉันต้องการอนุญาตรหัสผ่านบน LAN ของฉัน แต่ไม่ใช่จาก WAN ไฟร์วอลล์ WAN ของฉันอนุญาตให้เชื่อมต่อกับพอร์ตที่ จำกัด มากขึ้นเท่านั้น
Laurence Gonsalves

1
ดูเพิ่มเติมที่ข้อ จำกัด ของที่อยู่ IPหากคุณต้องการใช้หมายเลขพอร์ตมาตรฐาน
ændrük

คำตอบ:


32

สิ่งนี้สามารถทำได้ด้วยMatchคำสั่ง

ใน/etc/sshd_configประกาศหลายพอร์ต:

Port 22
Port 2222

จากนั้นที่ส่วนท้ายสุดของไฟล์ให้เพิ่มรายการต่อไปนี้:

Match LocalPort 2222
PasswordAuthentication no

การตั้งค่าทั้งหมดจะใช้ร่วมกันระหว่างพอร์ตยกเว้นการตรวจสอบรหัสผ่านจะถูกปิดใช้งานในพอร์ต 2222


+1 น่าสนใจมาก
Carlos Campderrós

เกินไปไม่ดีไม่ได้ทำงานกับMatch AllowUsersสำหรับทุกคนที่ต้องการ จำกัด ผู้ใช้สำหรับพอร์ตเฉพาะคุณอาจติดกับการใช้งานหลายsshdอินสแตนซ์
บ๊อบ

0

sshdกระบวนการเดียวฉันไม่เชื่ออย่างนั้น แต่ควรจะค่อนข้างง่ายในการตั้งค่าไฟล์การกำหนดค่าที่สองและเรียกใช้สองsshdฟังสองอันหนึ่งในพอร์ตรหัสผ่านและอื่น ๆ ในพอร์ตที่ไม่ใช่รหัสผ่าน


3
ฉันพบว่ามีวิธีการทำเช่นนี้กับตัวอย่างเดียวของ sshd ดูคำตอบที่ฉันโพสต์ ขอบคุณอยู่ดี
Laurence Gonsalves
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.