กำหนดค่า OSX Firewall ให้อนุญาตเซิร์ฟเวอร์ SSH หรือไม่


10

หากฉันเปิดไฟร์วอลล์ OSX ของฉัน ssh จะไม่ได้รับอนุญาต ถ้าฉันปิดมัน ssh สามารถเชื่อมต่อได้ดี นี่คือการตั้งค่าจากโฮสต์ ssh : ในขณะที่ฉันไม่รู้ว่าฉันกำลังทำอะไรฉันคิดว่าการให้/usr/sbin/sshd"อนุญาตการเชื่อมต่อขาเข้า" (พร้อมกับ "การเข้าสู่ระบบระยะไกล (SSH)") จะเพียงพอ แต่ก็ไม่เพียงพอ ฉันต้องมีอะไรอีกเพื่อรวม ssh (sshd? ไม่แน่ใจ) เพื่ออนุญาตการเชื่อมต่อ?

หน้าจอการกำหนดค่าไฟร์วอลล์บน OSX

ฉันกำลังกำหนดค่า ssh เฉพาะผ่านเมนูการแบ่งปัน "การเข้าสู่ระบบระยะไกล" ในการตั้งค่าระบบ


ตามที่ระบุไว้ที่นี่ ( discussions.apple.com/thread.jspa?threadID=2174585 ) การลบ sshd-keygen-wrapper การบูตเครื่องใหม่และบอกว่าใช่เป็น ssh-keygen-wrapper (แม้ว่ามันจะถูกตั้งไว้ที่ใช่แล้วก็ตาม)
Dan Rosenstark

คำตอบ:


9

ฉันเคยเห็นสิ่งนี้ด้วย - ดูเหมือนว่า OSX Application Firewall กำลังสับสน ฉันจัดการเพื่อให้ฉันไปโดยทำต่อไปนี้:

sudo rm /Library/Preferences/com.apple.alf.plist

จากนั้นรีบูท

เมื่อเครื่องกลับมาเมื่อคุณไปที่ไฟร์วอลล์> การตั้งค่าขั้นสูงคุณจะเห็นเฉพาะบริการของระบบที่คุณเปิดใช้งาน (ในกรณีของคุณ SSH และการแชร์หน้าจอ) ส่วนที่เหลือของรายการจะหายไป แต่เมื่อคุณเริ่มต้นแอปพลิเคชันใด ๆ ที่ต้องการการเข้าถึงผ่านไฟร์วอลล์ OSX จะขอให้คุณอนุญาตแอปพลิเคชันหรือไม่อีกครั้งและควรเพิ่มกลับไปยังรายการข้อยกเว้นไฟร์วอลล์ (ถ้าคุณอนุญาต การเชื่อมต่อ)


ฉันพบว่าถ้าคุณเรียกใช้ "sudo ipfw -f flush" จากนั้นปิดและเปิดการตั้งค่าระบบอีกครั้งคุณสามารถหลีกเลี่ยงขั้นตอนการรีบูตได้
Mark E. Haase

7

คำสั่งด้านล่างใช้ได้กับฉันใน Yosemite

cd /usr/libexec/ApplicationFirewall
sudo ./socketfilterfw --setloggingmode on
sudo ./socketfilterfw --setloggingopt detail
sudo tail -f /var/log/appfirewall.log

ลองเชื่อมต่อกับ Mac ของคุณผ่าน SSH คุณควรเห็นรายการปฏิเสธในกรณีของฉัน sshd-keygen-wrapper

Oct 27 15:22:12 myhost socketfilterfw[4940] <Info>: Deny sshd-keygen-wrapper connecting from 192.168.0.2:49470 to port 22 proto=6

จากนั้นเพิ่ม / usr / libexec / sshd-keygen-wrapper (ตามที่แนะนำโดย mehaase) ลงในรายการแอปพลิเคชันที่อนุญาต แต่ไม่จำเป็นต้องรีบูต

เพื่อสลับระดับการบันทึกกลับ

./socketfilterfw --setloggingopt throttled

6

ในกรณีของฉันฉันเพิ่ม / usr / libexec / sshd-keygen-wrapper ในการตั้งค่าไฟร์วอลล์และรีบูต

ฉันพบแนวคิดที่นี่: https://discussions.apple.com/thread/2174585?threadID=2174585

เทคนิคการแก้ไขปัญหาที่ดีอย่างหนึ่ง: เปิด Console.app และดู /var/log/appfirewall.log (หรือ tail -f /var/log/appfirewall.log จากบรรทัดคำสั่ง)


(สำหรับ OSX 10.11) การลากและวาง/usr/libexec/sshd-keygen-wrapperจากตัวค้นหาไปยังการตั้งค่าระบบ> ความปลอดภัย & ความเป็นส่วนตัว [ไฟร์วอลล์] (ตัวเลือกไฟร์วอลล์) แก้ไขหน้าต่างนี้สำหรับฉัน - หลังจากที่เปิด / ปิดการใช้งาน sshd ในการตั้งค่าโต้ตอบการแชร์
jimmont

2

ใน El Capitan 10.11.5 sshd-keygen-wrapperอยู่ในรายการการเชื่อมต่อที่อนุญาต แต่ถูกตั้งค่าเป็นบล็อก มีความจำเป็นเพียงตั้งค่าให้อนุญาตและการเข้าสู่ระบบ SSH ระยะไกลทำงานได้ ไม่ต้องบูตเครื่องใหม่


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