3 votes

Comment supprimer le suffixe .local du nom d'hôte Ubuntu ?

Lorsque j'essaye de me connecter à mon appareil Ubuntu avec le programme ssh dans le terminal, je dois ajouter .local au nom d'hôte Ubuntu. Par exemple, si je veux me connecter à mon appareil avec son nom d'hôte, ma commande ssh doit comporter le suffixe suivant .local et la commande a le format suivant :

ssh username@device_hostname.local 

Je suis conscient que le .local a été ajouté par le service Linux avahi (zeroconf), mais y a-t-il un moyen rapide (facile) de le contourner ? Je veux être capable de "ssh" mon appareil seulement par son nom d'hôte sans suffixe .local à la fin de la commande, comme ceci :

ssh username@device_hostname

Ce que je veux réaliser exactement, c'est de supprimer complètement les .local du nom de l'hôte. J'ai lu qu'il était possible de faire fonctionner mon serveur DNS privé, mais j'aimerais savoir s'il existe une solution moins complexe.

2voto

Sebastian Stark Points 5932

Vos clients auront besoin d'au moins un moyen de résoudre le nom d'hôte en une adresse IP. Le mécanisme que vous avez déjà découvert fonctionne par le biais d'une configuration automatique et se produit au sein de l'architecture de l .local nom de domaine.

Vous pourriez définir le mappage du nom d'hôte aux adresses IP sur chaque client, mais cette pratique n'est pas recommandée.

Vous allez ont de passer par une sorte de mécanisme de résolution automatique des noms, qui nécessitent tous l'utilisation d'une sorte de nom de domaine en arrière-plan.

Cependant, vous pouvez facilement éviter de devoir taper le nom de domaine à chaque fois en effectuant l'une des opérations suivantes :

ssh nom d'hôte canonisation

Si vous mettez ce qui suit dans /etc/ssh_config ou ~/.ssh/config :

Host *
  CanonicalDomains local
  CanonicalizeHostname yes

ssh ajoutera automatiquement local à n'importe quel nom d'hôte. Ainsi, lorsque vous tapez ssh host il fera réellement ssh host.local .

domaines de recherche

Bien que ce qui précède ne fonctionne que pour ssh, vous pouvez également configurer une chose similaire pour toutes les connexions réseau en configurant le résolveur dns sur votre client en conséquence. C'est la manière "classique" d'avoir des raccourcis de nom d'hôte.

Selon la configuration que vous avez, vous devez ajouter local à la liste des domaines de recherche. C'est ce que je fais. Il devrait y avoir beaucoup de descriptions disponibles pour cela, comme ceci .

codage en dur dans /etc/hosts

Ce n'est pas du tout recommandé, car même si cela semble simple au début, cela deviendra vite difficile à maintenir. Mais c'est le seul moyen que je connaisse qui permette de se débarrasser complètement des noms de domaine.

Modifier le fichier /etc/hosts et ajoutez des lignes comme celles-ci :

192.168.1.3 host3
192.168.1.4 host4

Alors que le premier mot de chaque ligne est l'adresse IP de l'hôte correspondant. Vous devez faire cela sur chaque client. Après cela, vous pouvez utiliser ssh host3 et même en arrière-plan, un nom de domaine ne sera pas utilisé.

-1voto

Dans /etc/hostname est le nom que vous voulez mettre à jour. Par exemple mydomiain.com et je suppose que vous avez un accès root. La commande hostname peut aussi être utilisée. Vous devrez donc mettre à jour le fichier avec vi. Ce qui se trouve à la ligne 1 doit être mis à jour avec votre nom de domaine. Plutôt simple.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X