Não é possível conectar-se a um computador Macintosh na mesma rede via hostname. Funciona com endereço IP

0

Estou tentando conectar dois computadores Machintosh usando SSH por meio do nome de host deles. Ambos os computadores estão executando o Mac OS X Yosemite 10.10.2. E ambos os computadores conectados por meio de um roteador ADSL Wi-Fi Actiontec T1200H da Telus (PDF do manual disponível aqui ).

Ao executar este comando SSH com o nome do host do computador:

ssh macbookpro.local

Eu recebo a seguinte mensagem:

ssh: Could not resolve hostname macbookpro.local: nodename nor servname provided, or not known

Mas se eu executar um comando SSH com o endereço IP do computador:

ssh 10.10.1.12

Funciona.

E descobri até agora que é um problema de firewall. se eu desligar o firewall nos dois computadores, a conexão SSH funcionará. Mas como posso estabelecer conexão SSH usando nomes de host do computador enquanto tenho o firewall ativado? E isso é possível?

    
por Drew 28.02.2015 / 04:05

2 respostas

1

Como esses dois computadores Macintosh estão conectados? Através de um roteador? A forma como os nomes de host macbookpro.local work são transmitidos na rede via Bonjour , que é simplesmente o nome fantasia da Apple para serviços de rede de transmissão / multicast:

Bonjour, also known as zero-configuration networking, enables automatic discovery of devices and services on a local network using industry standard IP protocols.

Portanto, se esses dois computadores Macintosh estiverem na mesma rede que compartilham o mesmo roteador, se esse roteador estiver bloqueando os serviços de rede de difusão / difusão seletiva, o nome do host macbookpro.local não poderá ser encontrado, pois será bloqueado do roteador .

A primeira coisa que eu recomendaria é que você faça login no roteador - qualquer que seja o modelo - e a ferramenta em torno dos menus para ver uma opção de difusão / difusão seletiva é definida para filtrar ou bloquear o tráfego de difusão / difusão seletiva. Mas, olhando para os detalhes em seu roteador - Roteador ADSL Actiontec T1200H Wi-Fi (PDF do manual disponível aqui ) - não parece haver uma maneira de bloquear o tráfego de rede de difusão / multicast. Então, minha próxima ideia seria ver se, de alguma forma, existem configurações de firewall no próprio Macintosh, atrapalhando o funcionamento do Bonjour? Pode valer a pena desativar o firewall para, pelo menos, testar a teoria por enquanto.

Olhando as opções de firewall que tenho em minha instalação do Mac OS X 10.9.5 (Mavericks), parece que desmarcar a caixa de seleção "Bloquear todas as conexões de entrada" enquanto o firewall está habilitado permitirá que seu firewall fique ativo enquanto ainda permite Bonjour serviços a serem passados para o sistema.

Quando o firewall estiver ativado, clique no botão "Opções do firewall ..." e você verá essa tela com a caixa de seleção "Bloquear todas as conexões de entrada":

Emumanotarelacionada,vocêpodedepuraressascoisas-comoexplicadonesta resposta que eu postei aqui - testando o rede com arp e dns-sd do “Terminal” do Mac OS X como este. Por exemplo, para usar arp para ver quais dispositivos estão na rede apenas digite este comando e tecle return :

arp -a

A saída retornada se o tráfego de broadcast / multicast estiver sendo enviado para o seu computador seria algo assim:

computer-name.local (123.456.789.0) at 00:aa:bb:cc:dd:ee on en0 ifscope [ethernet]
? (192.168.2.2) at bb:88:99:cc:77:aa on bridge100 ifscope [bridge]

Isso mostra que computer-name.local tem um endereço IP de 123.456.789.0 e a conexão em ponte usada pela rede ad-hoc na qual estou compartilhando minha conexão Ethernet via Wi-Fi é 192.168.2.2 .

Você também pode usar dns-sd (DNS Multicast (mDNS) e DNS Service Discovery (DNS-SD) Test Tool) do "Terminal" como este para ver se o seu computador está pegando o nome do host da outra máquina:

dns-sd -q [name of computer].local

Isso pressupõe que você já sabe o nome do computador e o broadcast / multicast está funcionando; substitua [name of computer].local pelo nome desse computador. Então a saída seria algo assim; Observe que 123.456.789.0 é um endereço IP falso, por exemplo, sake:

    Timestamp     A/R Flags if Name                          Type  Class   Rdata
19:56:22.856  Add     2  4 [name of computer].local.               Addr   IN     123.456.789.0
    
por 28.02.2015 / 04:37
0

macbookpro.local é provavelmente seu LocalHostName; 1 dos 3 nomes de computador usados pelo Mac OS X ( HostName , LocalHostName e ComputerName ). Se bem me lembro, é usado tanto para o Bonjour quanto para o AFP.

O

ssh , por outro lado, usa o protocolo IP e não é específico do Mac OS X. Ele tentará resolver seu “hostname” com o DNS. Você pode encontrar seu hostame usando o seguinte comando:

scutil --get HostName

ou simplesmente:

hostname

Por outro lado, você também pode usar localhost se estiver se conectando ao seu computador.

    
por 28.02.2015 / 04:41