Lorsque j'essaie de me connecter à mon appareil Ubuntu avec la commande de terminal ssh
, je dois ajouter le suffixe .local
au nom d'hôte Ubuntu. Par exemple, si je veux ssh sur mon périphérique avec son nom d'hôte, ma commande ssh doit avoir le suffixe .local
et la commande a le format suivant:
ssh username@device_hostname.local
Je suis conscient que le suffixe .local
a été ajouté par le service Linux avahi (zeroconf), mais existe-t-il un moyen rapide (facile) de le contourner? Je veux pouvoir "ssh" mon périphérique uniquement par son nom d'hôte sans suffixe .local à la fin de la commande, comme ceci:
ssh username@device_hostname
Ce que je veux exactement accomplir, c’est de supprimer complètement le suffixe .local
du nom d’hôte. J'ai lu des informations sur l'utilisation de mon serveur DNS privé, mais j'aimerais savoir s'il existe une solution moins complexe.
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 via la configuration automatique et se produit dans le nom de domaine .local
.
Vous pouvez définir le mappage du nom d'hôte aux adresses IP sur chaque client, mais cela n'est pas recommandé.
Vous devrez passer par un mécanisme de résolution automatique des noms, qui nécessitent tous l’utilisation d’un nom de domaine en arrière-plan.
Cependant, vous pouvez facilement éviter de taper le nom de domaine à chaque fois en effectuant l'une des opérations suivantes:
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 en fait ssh Host.local
.
Bien que ce qui précède ne fonctionne que pour ssh, vous pouvez également configurer un système similaire pour toutes les connexions réseau en configurant le résolveur DNS en conséquence. C'est la manière "classique" d'avoir des raccourcis de nom d'hôte.
Selon votre configuration, vous ajouterez local
à la liste des domaines de recherche. C'est ce que je fais. Il devrait y avoir beaucoup de description pour cet objet disponible, comme ceci .
Ce n'est pas recommandé du tout, car bien que cela paraisse simple au début, il deviendra difficile à maintenir bientôt. Mais c’est le seul moyen que je connaisse qui me permette de nous débarrasser complètement des noms de domaine.
Editez le fichier /etc/hosts
et ajoutez des lignes comme ceci:
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 le faire sur chaque client. Après cela, vous pouvez utiliser ssh Host3
, et même en arrière-plan, un nom de domaine ne sera utilisé.