บรรทัดคำสั่ง SSH รีสตาร์ท Mac OSX Mountain Lion


61

ฉันจะเริ่มบริการ SSH ใหม่ผ่านทางบรรทัดคำสั่งบน Mac OSX Mountain Lion ได้อย่างไร?

ใช้ผมก็สามารถที่จะอนุมานว่ากระบวนการที่เป็นไปได้มากที่สุดps aux | grep 'ssh'/usr/sbin/sshd

จากที่นี่ฉันค้นหาเอกสาร sshdสำหรับการอ้างอิงถึง 'เริ่มต้นใหม่' แต่ไม่พบ

ฉันไม่รู้ว่าขั้นตอนต่อไปของฉันควรเป็นอย่างไร


4
คุณพยายามทำอะไรจริงๆ หากเป็นสิ่งที่ต้องการโหลดการกำหนดค่า sshd ใหม่คุณไม่จำเป็นต้อง - launchd เริ่มต้นกระบวนการ sshd ใหม่ตามต้องการเมื่อได้รับการเชื่อมต่อขาเข้าซึ่งหมายความว่าการกำหนดค่าจะถูกอ่านซ้ำโดยอัตโนมัติสำหรับการเชื่อมต่อใหม่แต่ละครั้ง OTOH ถ้าคุณพยายามเปลี่ยนการตั้งค่าฟังการตั้งค่าเหล่านั้นจะถูกควบคุมโดย launchd ไม่ใช่ sshd config เลย (ดูที่นี่ )
Gordon Davisson

1
นี่เป็นเพียงการทดสอบการดีบักการร้องขอรหัสผ่านจาก SSH แบบไม่มีรหัสผ่านที่คาดคะเนโดยใช้คีย์สาธารณะ ปรากฎสิ่งที่ฉันพลาดคือการปิด StrictMode
James Webster

คำตอบ:


41

ดูคำตอบของคำถามที่คล้ายกันนี้ใน ServerFault คำสั่งควรเหมือนกันใน Mountain Lion

คุณสามารถหยุดบริการโดยใช้คำสั่งย่อย 'unload'

sudo launchctl unload  /System/Library/LaunchDaemons/ssh.plist

อัปเดตที่แนะนำโดย @MattClark: หากต้องการเริ่มใช้บริการใหม่loadหลังจากunload:

sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist

โปรดทราบว่าเซสชัน SSH ที่มีอยู่จะถูกยกเลิกดังนั้นคุณจำเป็นต้องเรียกใช้เซสชันผู้ใช้ปัจจุบันนี้


อันนี้ทำให้ฉันได้launchctl: Error unloading: com.openssh.sshd
Nicolas Miari

1
@ MattClark แล้วฉันขอแนะนำให้คุณอยู่ห่างจากเครื่องจักรการผลิตจนกว่าคุณจะปรับปรุงความเข้าใจในการอ่านของคุณ จากคำตอบของฉัน: "คุณสามารถหยุดการบริการ ... " (เน้นที่เหมือง)
Ansgar Wiechers

3
คุณถูกต้องฉันทำผิดนี่เป็นความผิดของฉัน อย่างไรก็ตามสิ่งนี้ไม่ได้ตอบคำถามตามที่ถาม
Matt Clark

คุณสามารถเรียกใช้สิ่งนี้ได้ในครั้งเดียวด้วย Cx Ce (C ย่อมาจาก Control) วางลงในเทอร์มินัลจากนั้น Cx Cc เพื่อดำเนินการคำสั่ง emacs kill ซึ่งจะแจ้งให้คุณบันทึก ฉันทำสิ่งนี้จากระยะไกลและไม่ได้ฆ่าการเชื่อมต่อของฉัน ... เนื่องจากการกำหนดค่าของคุณถูกต้อง
เรย์ฟอสส์

90

ไม่มีเหตุผลที่จะ 'ยกเลิกการโหลด' บริการ sshd เมื่อคุณสามารถเพียงแค่ 'หยุด' บริการ sshd แทน มันจะรีสตาร์ทด้วยตัวเอง

sudo launchctl stop com.openssh.sshd

2
ในสิงโตภูเขา:launchctl stop error: No such process
RickyA

1
@RickyA: ทำงานได้ดีกับ OSX Mavericks
neu242

ใช้งานไม่ได้ที่นี่ ( launchctl stop error: No such process)
Nicolas Miari

1
คุณต้องทำเช่นsudoนั้นเพราะเป็นวิธีการเปิดตัว เปรียบเทียบการทำงานภูต / ตัวแทนVSlaunchctl list | grep -i openssh sudo launchctl list | grep -i opensshสำหรับการอ้างอิงอ่านลิงค์
glenschler

สิ่งนี้ไม่ทำงานใน OS X Yosemite อีกต่อไปโดยพยายามหยุด sshd (เป็น root) ส่งผลให้สถานะการออกเป็น 3 และบริการยังคงทำงานต่อไป
RCross

4

ฉันไม่สามารถยืนยันคำตอบของ Ansgar ได้เพราะไม่มีข้อความ / สัญญาณชัดเจนแม้ว่าฉันมั่นใจว่ามันเป็นเช่นนั้น

ฉันยังพบkillall sshdที่ฆ่าและรีสตาร์ทกระบวนการ sshd ด้วยข้อเสียที่การเชื่อมต่อใด ๆ จะหยุด

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