การกำหนดค่าสำหรับหลายพอร์ต SSH


24

ฉันต้องฟัง SSH ในสองพอร์ต: 22 สำหรับโฮสต์การเข้าถึงของผู้ดูแลระบบและ 26 สำหรับการเข้าถึงปกติ ฉันไม่อนุญาตให้รูทเข้าสู่ระบบในวันที่ 26 และไม่อนุญาตทั้งหมดยกเว้น IP ภายในสำหรับพอร์ต 22 สิ่งหลังสามารถทำได้ด้วยกฎ iptables แต่ฉันไม่รู้เกี่ยวกับอดีต ความคิดใด ๆ


3
รูทไม่ควรล็อกอินผ่าน ssh; ระยะเวลา; ตอนจบของเรื่อง; เจ้าชู้หยุดที่นี่; ไม่เคย หากคุณต้องการเข้าถึงรากแล้วคุณเข้าสู่ระบบผ่านทางผู้ใช้ปกติของคุณแล้วยกระดับด้วยหรือดีกว่ายังsu sudo
Chris S

6
การอนุญาตให้เข้าสู่ระบบรูทผ่าน ssh นั้นเป็นเรื่องปกติหากคุณ จำกัด การรับรองความถูกต้องของคีย์หรือแม้กระทั่งการพิสูจน์ตัวตนด้วยรหัสผ่านหากเซสชันนั้น จำกัด เฉพาะที่อยู่ IP ที่คุณควบคุม 'ไม่เคย' แข็งแกร่งเกินไป
EightBitTony

3
ฉันยืนยันว่ามีสถานการณ์ที่เหมาะสมที่จะมีการเข้าสู่ระบบรูท (เช่นความเสียหายของระบบไฟล์ในพาร์ติชั่น / home, ห้ามการเข้าสู่ระบบในฐานะผู้ใช้มาตรฐาน) สิ่งหนึ่งที่สามารถช่วยเหลือคือการตั้ง sshd_config พารามิเตอร์PermitRootLogin without-passwordสิ่งนี้อนุญาตให้ล็อกอินรูทผ่าน ssh เกิดขึ้นกับคีย์ ssh เท่านั้น การตรวจสอบรหัสผ่านจะไม่ทำงาน
ewwhite

บทความนี้อาจเป็นประโยชน์: everythingsysadmin.com/2010/09/…
TomOnTime

คำตอบ:


27

ใน/etc/ssh/sshd_configทำการเปลี่ยนแปลงต่อไปนี้ ค้นหาบรรทัดที่เขียนPort 22และเพิ่มบรรทัดที่คล้ายกันข้างใต้

Port 22
Port 26

บันทึกไฟล์และรีสตาร์ท sshd daemon

ฉันทำสิ่งนี้ในสถานการณ์ที่ฉันเปิดใช้งาน ssh สำหรับผู้ใช้ภายในบนพอร์ต 22 แต่ต้องใช้การเชื่อมต่อภายนอกในการพูดพอร์ต 2222 สิ่งนี้จะผูก ssh daemon กับหมายเลขพอร์ตทั้งสอง


6
และคุณ จำกัด การเข้าสู่ระบบรูทไปที่พอร์ต 22 ได้อย่างไร?
ขนม

@ faker ฉันเห็นการใช้ข้อ จำกัด ของไฟร์วอลล์ / เครือข่ายเพื่อให้รายการที่อนุญาตของ ip เข้าถึงพอร์ตปกติ 22 เท่านั้น
ThorSummoner

10

คุณสามารถใช้-fตัวเลือกเพื่อsshdเพื่อระบุไฟล์การกำหนดค่าทางเลือก ในไฟล์การกำหนดค่าคุณจะต้องใช้

Port 26 

คำสั่งเพื่อเปลี่ยนพอร์ตที่ sshd กำลังฟังอยู่

ชุด

PermitRootLogin no

เพื่อปิดใช้งานการเข้าสู่ระบบราก

จากนั้นคุณสามารถทำสิ่งที่ชอบ

/usr/sbin/sshd -f /etc/ssh/sshd_config_port_26

คุณอาจต้องการคัดลอกสคริปต์เริ่มต้น sshd มาตรฐานและปรับเปลี่ยนเพื่อให้คุณสามารถเริ่มบริการพอร์ต 26 เมื่อเริ่มต้น

ทำไมคุณทำเช่นนี้ ?


1
แทนที่จะมีไฟล์กำหนดค่าทั้งสองถ้าคุณต้องการให้เซิร์ฟเวอร์คล้ายกันเป็นหลักมันจะไม่ตรงไปตรงมาและเหมาะสมกว่าที่จะเพิ่ม-o PermitRootLogin yes -p 26
JamesTheAwesomeDude

3

สมมติว่า sshd จะรันด้วยไฟล์ config เฉพาะบรรทัดคำสั่งจากนั้นคุณสามารถสร้างการกำหนดค่าที่สองที่ทำงานบนพอร์ต 26 และรันสคริปต์เริ่มทำงานครั้งที่สองที่อ้างถึงพอร์ตนั้น

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