Cấu hình tường lửa OSX để cho phép SSH Server?


10

Nếu tôi bật tường lửa OSX, ssh không được phép. Nếu tôi tắt nó, ssh có thể kết nối tốt. Đây là các cài đặt từ máy chủ ssh : trong khi tôi không biết mình đang làm gì, tôi đoán rằng việc cho /usr/sbin/sshdphép "Cho phép kết nối đến" (cùng với "Đăng nhập từ xa (SSH)") là đủ, nhưng không được. Tôi phải bao gồm những gì khác cho ssh (sshd? Không chắc chắn) để cho phép kết nối?

Màn hình cấu hình tường lửa trên OSX

Tôi đang định cấu hình ssh độc quyền thông qua menu chia sẻ, "Đăng nhập từ xa" trong Tùy chọn hệ thống.


Như đã trình bày ở đây ( discussions.apple.com/thread.jspa?threadID=2174585 ), xóa sshd-keygen-wrapper, khởi động lại và nói có cho ssh-keygen-wrapper (mặc dù nó đã được thiết lập để yes) dường như làm việc.
Dan Rosenstark

Câu trả lời:


9

Tôi cũng đã thấy điều này - Có vẻ như Tường lửa ứng dụng OSX đang bị lẫn lộn. Tôi quản lý để có được của tôi đi bằng cách làm như sau:

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

Sau đó khởi động lại.

Khi máy hoạt động trở lại, khi bạn truy cập Tường lửa> Cài đặt nâng cao, bạn sẽ chỉ thấy các dịch vụ hệ thống bạn đã bật (trong trường hợp của bạn, SSH và Chia sẻ màn hình). Phần còn lại của các mục sẽ biến mất, nhưng khi bạn khởi động bất kỳ ứng dụng nào cần truy cập qua tường lửa, OSX sẽ yêu cầu bạn cho phép ứng dụng đó hoặc không một lần nữa và sau đó nên được thêm lại vào danh sách ngoại lệ tường lửa (nếu bạn cho phép nó đến kết nối).


Tôi thấy rằng nếu bạn chạy "sudo ipfw -f flush" và sau đó đóng và mở lại Tùy chọn hệ thống, bạn có thể tránh được bước khởi động lại.
Đánh dấu E. Haase

7

Các lệnh dưới đây làm việc cho tôi trên Yosemite

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

Hãy thử kết nối với máy Mac của bạn qua SSH. Bạn sẽ thấy một mục từ chối, trong trường hợp của tôi là 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

Sau đó, chỉ cần thêm / usr / libexec / sshd-keygen-Wrapper (như được đề xuất bởi mehaase) vào danh sách các ứng dụng được phép, nhưng không cần phải khởi động lại

Để chuyển cấp độ đăng nhập trở lại

./socketfilterfw --setloggingopt throttled

6

Trong trường hợp của tôi, tôi đã thêm / usr / libexec / sshd-keygen-Wrapper vào cài đặt tường lửa và khởi động lại.

Tôi tìm thấy ý tưởng ở đây: https://discussions.apple.com/thread/2174585?threadID=2174585

Một kỹ thuật xử lý sự cố tốt: mở Console.app và xem /var/log/appfirewall.log (hoặc đuôi -f /var/log/appfirewall.log từ dòng lệnh).


(Đối với OSX 10.11) kéo và thả /usr/libexec/sshd-keygen-wrappertừ công cụ tìm vào cửa sổ hộp thoại System Preferences> Security & Privacy [Firewall] (Tường lửa) đã sửa lỗi này cho tôi - sau khi đạp / tắt sshd trong hộp thoại chia sẻ.
jimmont

2

Trong El Capitan 10.11.5, sshd-keygen-wrappernằm trong danh sách các kết nối được phép, nhưng được đặt thành chặn. Chỉ cần thiết lập để cho phép và đăng nhập SSH từ xa đã hoạt động. Không cần khởi động lại.


Tương tự, sửa lỗi đơn giản cho 10.11.6. Cảm ơn!
TomEE
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.