Configurer le pare-feu OSX pour autoriser le serveur SSH?

10

Si j'allume mon pare-feu OSX, ssh est interdit. Si je l'éteins, ssh peut très bien se connecter. Ce sont les paramètres de l' hôte ssh : même si je ne sais pas ce que je fais, je me suis dit que donner /usr/sbin/sshd"Autoriser les connexions entrantes" (avec "Connexion à distance (SSH)") serait suffisant, mais ce n'est pas le cas. Que dois-je inclure d'autre pour que ssh (sshd? Pas sûr) autorise les connexions?

L'écran de configuration du pare-feu sur OSX

Je configure ssh exclusivement via le menu de partage, "Connexion à distance" dans les Préférences Système.

Dan Rosenstark
la source
Comme indiqué ici ( discussions.apple.com/thread.jspa?threadID=2174585 ), supprimer sshd-keygen-wrapper, redémarrer et dire oui à ssh-keygen-wrapper (bien qu'il ait déjà été défini sur yes) semble fonctionner.
Dan Rosenstark

Réponses:

9

Je l'ai vu aussi - Il semble que le pare-feu d'application OSX soit confus. J'ai réussi à faire démarrer le mien en procédant comme suit:

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

Redémarrez ensuite.

Une fois que la machine est de retour, lorsque vous allez dans Pare-feu> Paramètres avancés, vous ne devriez voir que les services système que vous avez activés (dans votre cas, SSH et partage d'écran). Le reste des entrées aura disparu, mais lorsque vous démarrez des applications qui nécessitent un accès via le pare-feu, OSX vous demandera d'autoriser l'application ou non et devrait ensuite être ajouté à la liste des exceptions du pare-feu (si vous l'autorisez à entrer Connexions).

Pierz
la source
J'ai constaté que si vous exécutez "sudo ipfw -f flush", puis fermez et rouvrez les Préférences Système, vous pouvez éviter l'étape de redémarrage.
Mark E. Haase
7

Les commandes ci-dessous ont fonctionné pour moi sur Yosemite

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

Essayez de vous connecter à votre Mac via SSH. Vous devriez voir une entrée de refus, dans mon cas 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

Ajoutez simplement / usr / libexec / sshd-keygen-wrapper (comme suggéré par mehaase) à la liste des applications autorisées, mais il n'est pas nécessaire de redémarrer

Pour revenir au niveau de journalisation

./socketfilterfw --setloggingopt throttled
Tchad
la source
6

Dans mon cas, j'ai ajouté / usr / libexec / sshd-keygen-wrapper aux paramètres du pare-feu et redémarré.

J'ai trouvé l'idée ici: https://discussions.apple.com/thread/2174585?threadID=2174585

Une bonne technique de dépannage: ouvrez Console.app et regardez /var/log/appfirewall.log (ou tail -f /var/log/appfirewall.log depuis la ligne de commande).

Mark E. Haase
la source
(Pour OSX 10.11), le glisser-déposer /usr/libexec/sshd-keygen-wrapperdu Finder dans la fenêtre de dialogue Préférences Système> Sécurité et confidentialité [Pare-feu] (Options du pare-feu) a corrigé cela pour moi - après avoir désactivé / activé sshd dans la boîte de dialogue de partage, préférez également.
jimmont
2

Dans El Capitan 10.11.5, sshd-keygen-wrapperétait dans la liste des connexions autorisées, mais a été défini pour bloquer. Il était seulement nécessaire de le configurer pour autoriser, et la connexion SSH à distance fonctionnait. Aucun redémarrage requis.

CCryder66
la source
Idem, correctif simple pour 10.11.6. Merci!
TomEE