Mengkonfigurasi OSX Firewall untuk Mengizinkan Server SSH?

10

Jika saya menyalakan firewall OSX saya, ssh tidak diizinkan. Jika saya mematikannya, ssh dapat terhubung dengan baik. Ini adalah pengaturan dari host ssh : sementara saya tidak tahu apa yang saya lakukan, saya pikir bahwa memberikan /usr/sbin/sshd"Izinkan Koneksi Masuk" (bersama dengan "Remote Login (SSH)") akan cukup, tetapi tidak. Apa lagi yang harus saya sertakan agar ssh (sshd? Tidak yakin) untuk mengizinkan koneksi?

Layar konfigurasi firewall pada OSX

Saya mengonfigurasi ssh secara eksklusif melalui menu berbagi, "Remote Login" di System Preferences.

Dan Rosenstark
sumber
Seperti yang dinyatakan di sini ( diskusi.apple.com/thread.jspa?threadID=2174585 ), menghapus sshd-keygen-wrapper, me-reboot dan mengatakan ya ke ssh-keygen-wrapper (meskipun sudah diatur ke ya) tampaknya berfungsi.
Dan Rosenstark

Jawaban:

9

Saya telah melihat ini juga - Tampaknya Firewall Aplikasi OSX semakin membingungkan. Saya berhasil menjalankan tambang dengan melakukan hal berikut:

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

Kemudian reboot.

Setelah mesin kembali, ketika Anda pergi ke Firewall> Pengaturan Lanjut, Anda hanya akan melihat layanan sistem yang telah Anda aktifkan (dalam kasus Anda, SSH dan Berbagi Layar). Sisa dari entri akan hilang, tetapi ketika Anda memulai aplikasi yang membutuhkan akses melalui firewall, OSX akan meminta Anda untuk mengizinkan aplikasi atau tidak lagi dan kemudian harus ditambahkan kembali ke daftar pengecualian firewall (jika Anda mengizinkannya masuk koneksi).

Pierz
sumber
Saya menemukan bahwa jika Anda menjalankan "sudo ipfw -f flush" dan kemudian tutup dan buka kembali System Preferences, Anda dapat menghindari langkah me-reboot.
Mark E. Haase
7

Perintah di bawah ini berfungsi untuk saya di Yosemite

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

Coba sambungkan ke Mac Anda melalui SSH. Anda akan melihat entri tolak, dalam kasus saya 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

Kemudian cukup tambahkan / usr / libexec / sshd-keygen-wrapper (seperti yang disarankan oleh mehaase) ke daftar aplikasi yang diizinkan, tetapi tidak perlu reboot

Untuk mengalihkan kembali level logging

./socketfilterfw --setloggingopt throttled
Chad
sumber
6

Dalam kasus saya, saya menambahkan / usr / libexec / sshd-keygen-wrapper ke pengaturan firewall dan reboot.

Saya menemukan idenya di sini: https://discussions.apple.com/thread/2174585?threadID=2174585

Salah satu teknik pemecahan masalah yang baik: buka Console.app dan tonton /var/log/appfirewall.log (atau tail -f /var/log/appfirewall.log dari baris perintah).

Mark E. Haase
sumber
(Untuk OSX 10.11) menyeret dan menjatuhkan /usr/libexec/sshd-keygen-wrapperdari finder ke dalam System Preferences> Security & Privacy [Firewall] (Firewall Options) jendela dialog memperbaiki ini untuk saya - setelah bersepeda sshd off / on dalam dialog sharing juga lebih disukai.
Jimmont
2

Dalam El Capitan 10.11.5, sshd-keygen-wrapperada dalam daftar koneksi yang diizinkan, tetapi ditetapkan untuk diblokir. Itu hanya diperlukan untuk mengaturnya untuk memungkinkan, dan login SSH jarak jauh bekerja. Tidak perlu reboot.

CCryder66
sumber
Perbaikan yang sama dan sederhana untuk 10.11.6. Terima kasih!
TomEE