Como remover o sufixo .local do hostname do Ubuntu?

2

Quando tento conectar-me ao meu dispositivo Ubuntu com o comando ssh terminal, tenho que adicionar .local suffix ao hostname do Ubuntu. Por exemplo, se eu quiser ssh para meu dispositivo com seu nome de host, meu comando ssh deve ter o sufixo .local e o comando tem o seguinte formato:

ssh username@device_hostname.local 

Estou ciente de que o sufixo .local foi acrescentado pelo serviço Linux avahi (zeroconf), mas existe alguma maneira rápida (fácil) de contorná-lo? Eu quero ser capaz de "ssh" meu dispositivo apenas pelo seu nome de host sem sufixo .local no final do comando, assim:

ssh username@device_hostname

O que exatamente eu quero alcançar é remover completamente o sufixo .local do nome do host. Eu li sobre a execução do meu servidor DNS privado, mas gostaria de saber se existe uma solução menos complexa.

    
por Boixos Noi 18.04.2018 / 14:39

2 respostas

1

Seus clientes precisarão de pelo menos uma maneira de resolver o nome do host para um endereço IP. O mecanismo que você descobriu já funciona por meio da configuração automática e ocorre dentro do nome do domínio .local .

Você pode definir o mapeamento de hostname para endereços IP em cada cliente, mas isso não é uma prática recomendada.

Você terá para passar por algum tipo de mecanismo automático de resolução de nomes, e todos exigem o uso de algum tipo de nome de domínio em segundo plano.

No entanto, você pode facilmente se livrar de ter que digitar o nome de domínio toda vez, fazendo uma das seguintes ações:

canonização do nome de host ssh

Se você colocar o seguinte em /etc/ssh_config ou ~/.ssh/config :

Host *
  CanonicalDomains local
  CanonicalizeHostname yes

ssh irá anexar automaticamente local a qualquer nome de host. Então, quando você digitar ssh host , ele realmente fará ssh host.local .

domínios de pesquisa

Embora o acima funcione apenas para o ssh, você também pode configurar uma coisa semelhante para todas as conexões de rede configurando o resolvedor de dns em seu cliente de acordo. É a maneira "clássica" de ter atalhos de nome de host.

Dependendo da configuração que você tiver, adicione local à lista de domínios de pesquisa. Isto é o que eu faço. Deve haver muita descrição para isso disponível, como este .

codificação para / etc / hosts

Isso não é recomendado, porque embora pareça simples no começo, será difícil mantê-lo em breve. Mas é a única maneira conhecida por mim que permite se livrar completamente dos nomes de domínio.

Edite o arquivo /etc/hosts e adicione linhas como esta:

192.168.1.3 host3
192.168.1.4 host4

Enquanto a primeira palavra em cada linha é o endereço IP do host correspondente. Você tem que fazer isso em todos os clientes. Depois disso, você pode usar ssh host3 e nem mesmo em segundo plano um nome de domínio será usado.

    
por Sebastian Stark 22.04.2018 / 02:15
-1

Em / etc / hostname é o nome que você deseja atualizar. Por exemplo, mydomiain.com e suponho que você tenha acesso root. O nome do host do comando também pode ser usado. Então você precisa atualizar o arquivo com o vi. O que quer que esteja na linha 1 precisa ser atualizado com seu nome de domínio. Muito simples.

    
por Webmaster TheCMG 21.04.2018 / 23:23