ฉันได้ทำการเปลี่ยนแปลงบางอย่างกับไฟล์ sshd_config แล้วจึงต้องเริ่มใหม่ ฉันกำลังมองหาเคล็ดลับในการรีสตาร์ทอย่างปลอดภัย ssh เมื่อได้รับการเข้าถึงทางกายภาพไปยังเซิร์ฟเวอร์จะเป็น Huga PITA
ฉันได้ทำการเปลี่ยนแปลงบางอย่างกับไฟล์ sshd_config แล้วจึงต้องเริ่มใหม่ ฉันกำลังมองหาเคล็ดลับในการรีสตาร์ทอย่างปลอดภัย ssh เมื่อได้รับการเข้าถึงทางกายภาพไปยังเซิร์ฟเวอร์จะเป็น Huga PITA
คำตอบ:
การรีสตาร์ท sshd ในขณะที่ล็อกอินผ่าน ssh จะไม่ยกเลิกการเชื่อมต่อ ssh ของคุณ
หากคุณกังวลเกี่ยวกับการกำหนดค่าของคุณให้เข้าสู่ระบบสองสามครั้งผ่าน ssh แล้วเริ่มต้นใหม่ หากคุณไม่สามารถเชื่อมต่อกับการเชื่อมต่อใหม่ตอนนี้คุณสามารถเข้าถึงเพื่อแก้ไขปัญหาได้แล้ว
พูดถึงด้านล่างในความคิดเห็นโดย @Milan Babuškov: sshd -t
จะทดสอบการกำหนดค่าของคุณสำหรับความถูกต้องของไวยากรณ์หากคุณต้องการให้แน่ใจ
ข้อเสนอแนะอื่นโดย @Ronald Pottol คือการตั้งค่าcron
งานเพื่อรีสตาร์ทเซิร์ฟเวอร์ด้วยการกำหนดค่าการทำงานที่รู้จัก บางทีอาจ overkill แต่ถ้าคุณกำลังอัพเดทเซิร์ฟเวอร์ที่มีความสำคัญต่อภารกิจ ฯลฯ ... บางครั้งคุณก็ไม่อาจระวังตัวได้
หากคุณมีการเข้าถึงฮาร์ดแวร์คุณอาจพิจารณาวางเทอร์มินัลในพอร์ตอนุกรม / dev / ttyS0 จากนั้นคุณสามารถมีประตูหลังเข้าไปในเซิร์ฟเวอร์ของคุณ
เพียงเพิ่ม
SO:2345:respawn:/sbin/mingetty ttySO
เพื่อ / etc / inittab ของคุณและเทอร์มินัลจะวางไข่บนพอร์ตอนุกรมของคุณ คุณสามารถใช้ตัวรวบรวมพอร์ตอนุกรมหรือใช้โมเด็มที่มีค่าเป็นโมฆะจากเซิร์ฟเวอร์ถัดจากนั้น
ไม่ต้องกังวลเซสชันปัจจุบันของคุณจะไม่ถูกตัดการเชื่อมต่อแม้ว่าจะมีปัญหากับการกำหนดค่าใหม่
หลังจากใช้การกำหนดค่าใหม่และรีสตาร์ท sshd เพียงลองเข้าสู่ระบบสองสามครั้งและดูที่บันทึกเพื่อดูว่าทุกอย่างเรียบร้อย
หรือใช้ cron หรือที่ทำงานเพื่อเริ่มการสำรองข้อมูลถ้าคุณรู้สึกโชคร้าย?
cron
หรือat
จะทำงานในการคัดลอก 'เรียก' การทำงานคือการกำหนดค่าเก่ากลับมาแล้วจะเริ่มต้นใหม่ของการให้บริการ ...
คุณไม่สามารถเรียกใช้ kill -HUP ใน PID ของบริการ SSH ได้หรือไม่ มันไม่สะอาด แต่ใช้งานได้
SIGHUP
เป็นวิธีที่สะอาดในการโหลดการกำหนดค่าของ daemon อีกครั้ง
pkill -HUP sshd
ปิดการเชื่อมต่อของฉัน สิ่งนี้ใช้ได้:kill -HUP $(pgrep -f /usr/bin/sshd)
ฉันได้พบว่าทุกวันนี้sshd
จะไม่ตัดการเชื่อมต่อเซสชันของคุณเมื่อเริ่มต้นใหม่โดยเฉพาะเมื่อเป็นระบบกลั่นแบบ Redhat คุณสามารถเขียนสคริปต์ขนาดเล็กที่จะคืนค่าการกำหนดค่าของคุณโดยอัตโนมัติsshd
จากการสำรองข้อมูลและเริ่มต้นใหม่sshd
หลังจาก 5 นาทีในฐานะcron
หรือat
งาน สิ่งนี้จะช่วยให้มั่นใจได้ว่าแม้ว่าคุณจะถูกตัดการเชื่อมต่อคุณสามารถกลับเข้าสู่เซิร์ฟเวอร์ของคุณได้อย่างน้อย
ฉันจะไม่แนะนำให้รีสตาร์ท / โหลดใหม่ SSHD ในการเชื่อมต่อ sshd ฉันเคยเห็นหลายครั้งที่ sshd เพิ่งจะไม่เริ่มต้นเนื่องจากข้อผิดพลาดทางไวยากรณ์ใน sshd_config
แม้ว่าทุกอย่างจะโอเคกับไฟล์ปรับแต่ง แต่ก็มีความเสี่ยง