web-dev-qa-db-fra.com

Puis-je configurer Ubuntu pour ajouter un domaine à la fin d'une demande de nom d'hôte ssh?

J'ai beaucoup de serveurs et ils finissent tous par le même servers.company.net, donc par exemple vded-xx-001.servers.company.net, et je me demandais s'il était possible de le faire pour que je puisse simplement taper le vded- xx-001 et le fait-il annexer ServerSompany.net automatiquement?

Donc, je voudrais taper

ssh user@vded-xx-001

et le connecter réellement à

ssh [email protected]

J'ai essayé de définir mon domaine de recherche DNS sur servers.company.net, dans/etc/network/interfaces, mais cela n'a pas permis d'obtenir le résultat souhaité.

Quelqu'un peut-il me diriger dans la bonne direction?

Merci d'avance

8

Vous avez probablement déjà résolu ce problème, mais peut-être que plus tard, cela pourrait aider quelqu'un: vous n'avez pas besoin de lire votre resolv.conf, vous pouvez simplement utiliser quelque chose comme ceci dans votre ~/.ssh/config:

Host vded-*-001 test-*-something-fixed-*
        HostName %h.servers.company.net
        User someusername

Donc, plus tard, vous pouvez simplement utiliser:

ssh vdev-alotofstuff-001
ssh vdev-somethingels-001
ssh test-02-something-fixed-somethingelse

Cordialement,

18
Mauricio

C'est la solution la plus simple. Cela fonctionne pour tous les hôtes, ne nécessite ni root ni accès à aucun système DNS/résolveur.

Ajoutez en haut de votre fichier _~/.ssh/config_ (ou créez-le s'il n'existe pas déjà):

_CanonicalizeHostname yes
CanonicalDomains servers.company.net
_

Documentation ( man 5 ssh_config ):

CanonicalizeHostname

Contrôle si la canonisation explicite du nom d'hôte est effectuée. La valeur par défaut no ne consiste pas à réécrire les noms et à laisser le résolveur système gérer toutes les recherches de nom d'hôte. Si défini sur yes , pour les connexions n'utilisant pas de ProxyCommand , ssh tentera de canoniser le nom d’hôte spécifié sur la ligne de commande en utilisant les suffixes CanonicalDomains et CanonicalizePermittedCNAME règles. Si CanonicalizeHostname est défini sur toujours , la canonisation est appliquée aux connexions mandatées. aussi.

Si cette option est activée, les fichiers de configuration sont à nouveau traités en utilisant le nouveau nom de cible pour sélectionner toute nouvelle configuration dans l'hôte correspondant et Match strophes.

4
OrangeDog

Oui, vous pouvez le faire en créant un fichier de configuration nommé ~/.ssh/config et en entrant le contenu suivant:

Host vded-xx-001
User user
Port 22
HostName vded-xx-001.servers.company.net

Maintenant, il vous suffit de taper ceci (vous n'avez même plus besoin du nom d'utilisateur):

$ ssh vded-xx-001

Cela fonctionne également avec l'utilitaire de ligne de commande scp:

$ scp filename vded-xx-001:/path/
2
Flimm

La solution à mon problème consistait à ajouter le domaine de recherche à resolv.conf:

search servers.company.net

Cela m'a permis d'entrer

ssh user@vded-xx-001

pour l'un de mes serveurs et il se connecte à la bonne adresse.

Merci @Hennes pour la réponse

2

Si vous utilisez des identités SSH - et avec autant de serveurs qu’il vaut la peine de regarder -, comme OrangeDog l’a dit, définir CanonicaliseHostname et CanonicaliseDomains autorisera également une correspondance avec une entrée @ cert-author dans vos hôtes connus.

unknown_hosts entry @ cert-Authority * .example.com ssh-rsa AAAddadfkjaeio ...

sans options Canonicalise, vous devez utiliser "ssh Host.example.com"

Avec les options Canonicalise, "ssh myhost" correspondra.

J'aurais ajouté cela comme commentaire à la réponse OrangeDogs si le représentant le permettait ...

1
Richard N

Pour la résolution de noms de domaine à l’échelle du système, j’aime définir les paramètres une fois sur mon réseau. Donc, je mettrais dans le serveur DHCP le nom de domaine et le serveur DNS afin qu'il donne à toutes les machines le droit resolv.conf y compris

  • Adresse IP du serveur DNS primaire
  • Domaine
  • directive de recherche

Cela dépend du serveur DHCP et de la configuration réseau que vous souhaitez ... Personnellement, je n'aime pas la configuration personnalisée de la machine lorsque son fonctionnement est général au réseau.

0
Philippe Gachoud

Pour une solution rapide fonctionnant sur différents programmes, vous pouvez également configurer le domaine vded-xx-001 pour qu'il soit redirigé vers une adresse IP spécifique, en modifiant /etc/hosts pour inclure une ligne comme celle-ci:

173.194.41.90  vded-xx-001

Cela fonctionne dans votre navigateur: http://vded-xx-001/

Ainsi qu'avec des utilitaires de ligne de commande tels que SSH:

$ ssh user@vded-xx-001

(Je préfère personnellement le solution de configuration SSH bien que.)

0
Flimm