Configurar o OSX Firewall para permitir o servidor SSH?

10

Se eu ativar o firewall do OSX, o ssh não será permitido. Se eu desligá-lo, o ssh pode se conectar perfeitamente. Estas são as configurações do host ssh : embora eu não saiba o que estou fazendo, achei que fornecer /usr/sbin/sshd"Permitir conexões de entrada" (junto com "Login remoto (SSH)") seria suficiente, mas não é. O que mais preciso incluir para o ssh (sshd? Não tenho certeza) para permitir conexões?

A tela de configuração do firewall no OSX

Estou configurando o ssh exclusivamente através do menu de compartilhamento "Login remoto" nas Preferências do sistema.

Dan Rosenstark
fonte
Conforme declarado aqui ( discussões.apple.com /thread.jspa?threadID=2174585), excluir sshd-keygen-wrapper, reiniciar e dizer sim ao ssh-keygen-wrapper (embora já tenha sido definido como yes) parece funcionar.
Dan Rosenstark

Respostas:

9

Eu já vi isso também - parece que o OSX Application Firewall está ficando confuso. Consegui fazer o meu funcionar da seguinte maneira:

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

Então reinicie.

Quando a máquina voltar a funcionar, quando você for para Firewall> Configurações avançadas, deverá ver apenas os serviços do sistema que você ativou (no seu caso, SSH e compartilhamento de tela). O restante das entradas terá desaparecido, mas quando você iniciar qualquer aplicativo que precise acessar pelo firewall, o OSX solicitará a permissão ou não do aplicativo novamente e deverá ser adicionado novamente à lista de exceções do firewall (se você permitir a entrada) conexões).

Pierz
fonte
Descobri que se você executar "sudo ipfw -f flush" e fechar e reabrir as Preferências do Sistema, poderá evitar a etapa de reinicialização.
Mark E. Haase
7

Os comandos abaixo funcionaram para mim em Yosemite

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

Tente se conectar ao seu Mac via SSH. Você deve ver uma entrada de negação, no meu caso 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

Em seguida, basta adicionar / usr / libexec / sshd-keygen-wrapper (como sugerido por mehaase) à lista de aplicativos permitidos, mas não há necessidade de reiniciar

Para retornar o nível de log

./socketfilterfw --setloggingopt throttled
Chade
fonte
6

No meu caso, adicionei / usr / libexec / sshd-keygen-wrapper às configurações do firewall e reiniciei.

Encontrei a ideia aqui: https://discussions.apple.com/thread/2174585?threadID=2174585

Uma boa técnica de solução de problemas: abra o Console.app e observe /var/log/appfirewall.log (ou tail -f /var/log/appfirewall.log na linha de comando).

Mark E. Haase
fonte
(Para OSX 10.11), arrastar e soltar /usr/libexec/sshd-keygen-wrapperdo localizador na janela Preferências do sistema> Segurança e privacidade [Firewall] (Opções de firewall) corrigiu isso para mim - depois de ativar / desativar o sshd nas preferências da caixa de diálogo de compartilhamento.
jimmont
2

No El Capitan 10.11.5, sshd-keygen-wrapperestava na lista de conexões permitidas, mas estava definido para bloquear. Só era necessário configurá-lo para permitir, e o login SSH remoto funcionou. Não é necessário reiniciar.

CCryder66
fonte
A mesma correção simples para 10.11.6. Obrigado!
TomEE 12/09