[Atualização - Resolvido (?): Veja minha resposta abaixo com minha solução. Eu ainda não tenho certeza porque meus sintomas (parecem ter) mudaram de tempo-limite-inteiramente para tomar-3-min-antes-sucesso, no entanto, que é o que me permite depurar & encontrar uma solução alternativa.]
Quando eu tento fazer o ssh em minha máquina do Mac OS, ele expira (como se nada estivesse ouvindo a porta - fazer o telnet da porta 22 também expira). Eu posso fazer o ping da máquina com sucesso, então a conexão de rede parece plausível, e eu posso ssh da máquina alvo para si mesmo (localhost), então na verdade está ouvindo a porta 22 Na verdade, não consigo fazer o telnet em nenhuma porta nessa máquina.
[add'l fato: Eu configurei um servidor web na porta 8080, e da mesma forma eu não consigo me conectar a ele de outras máquinas, mas eu posso confirmar que ele realmente está escutando a porta. Então, parece que esse é um problema de rede / porta / firewall e nada específico de ssh.]
As Preferências do Sistema parecem estar bem (o compartilhamento tem o Login Remoto ativado para todos os usuários, e as Opções do Firewall confirmam que "Login Remoto (SSH)" é "Permitir conexões de entrada" (screenshot here) . O launchctl parece mostrar que o sshd está rodando.
Eu posso ir de essa máquina para outra máquina do Mac OS que eu tenho - então não parece ser um problema de roteador [embora: uma máquina esteja conectada via ethernet, e a problemática máquina está conectada via wireless]. Tanto quanto eu posso dizer, eu tenho dois macs configurados da mesma maneira.
Tudo estava funcionando bem há algumas semanas; Eu instalei uma atualização do sistema desde então. Talvez eu tenha mudado algum ajuste de sistema nesse meio tempo; Não me lembro de mudar nada. (A única outra diferença, como mencionado: uma máquina está conectada ao meu roteador por ethernet, a outra por wireless).
Evidência de que a máquina ("tropic") está realmente escutando a porta 22 com sshd: ela pode se ver via localhost:
tropic> telnet localhost 22
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.4
e também sudo launchctl list com.openssh.sshd
imprime cerca de 20 linhas com a mesma aparência de uma versão "correta" na postagem de outra pessoa.
MAS ao tentar se conectar de outra máquina ("equador"):
equator> ssh -vvv tropic.local
OpenSSH_7.4p1, LibreSSL 2.5.0
debug1: Reading configuration data /Users/ibarland/.ssh/config
debug1: Reading configuration data /etc/ssh/ssh_config
debug2: resolving "tropic.local" port 22
debug2: ssh_connect_direct: needpriv 0
debug1: Connecting to tropic.local [192.64.0.3] port 22.
ssh: connect to host tropic.local port 22: Operation timed out
A conexão de rede está bem:
equator> ping -c 2 tropic.local
PING tropic.local (192.64.0.3): 56 data bytes
64 bytes from 192.64.0.3: icmp_seq=0 ttl=55 time=17.424 ms
64 bytes from 192.64.0.3: icmp_seq=1 ttl=55 time=19.654 ms
--- tropic.local ping statistics ---
2 packets transmitted, 2 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.424/18.539/19.654/1.115 ms
Outras coisas que eu tentei / verificaram: Eu desliguei totalmente o firewall (em ambos os computadores), e tentei desativar o firewall do meu roteador - Nenhum desses fez qualquer diferença. Ambos os lados estão executando a mesma versão do ssh. Ambos foram reinicializados; Certifiquei-me de que ambos tivessem a última atualização do sistema.
Eu tenho batido minha cabeça contra esta parede toda a tarde; qualquer insight, estratégias de depuração ou outras sugestões seriam apreciadas. (Eu não encontrei nenhuma mensagem de log do sistema gerada pelo port-listener, se houver algum).