GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser le même alias Ssh avec plusieurs adresses d'hôte/ports/etc. ?

Voici le problème :j'essaie de me connecter en SSH à un système accessible depuis au moins 3 réseaux différents, parfois directement, parfois via un proxy, à des moments différents.

La connexion directe est beaucoup plus rapide et plus fiable que la connexion via un hôte intermédiaire, qui est encore une fois beaucoup plus rapide et plus fiable que la connexion via Internet général, donc j'aimerais que SSH tente de se connecter de 3 manières différentes de manière prioritaire, en choisissant le premier qui réussit.

Ce sont tous la même machine, évidemment, donc je ne veux pas continuer à devoir choisir manuellement entre 3 alias différents selon l'endroit d'où je me connecte.

Cependant, je ne trouve aucun mécanisme pour résoudre ce problème. Est-il possible de le faire du tout, ou non ?

Sinon, que font généralement les gens dans une telle situation ?

Réponse acceptée :

Ne pas utiliser d'alias pour ssh Connexions! Utilisez un ssh_config approprié dans ~/.ssh/config . Il possède des fonctionnalités vraiment puissantes.

Disons que vous pouvez identifier dans quel réseau vous vous trouvez. Par exemple en utilisant votre adresse IP, qui peut être extraite par exemple en utilisant hostname -I . Écrivons donc une configuration :

# in network1 I am getting ip from "10.168.*.*" and I need to connect through proxy
Match Host myalias Exec hostname -I | grep 10\.168\.
  Hostname real-host-IP
  ProxyCommand ssh -W %h:%p proxy-server

# in network2 I am getting IP from "192.168.*.*" and I do not need a proxy
Match Host myalias Exec hostname -I | grep 192\.168\.
  Hostname real-host-IP

# in network3 I am getting something else

Je crois que vous avez compris…


Linux
  1. Comment utiliser les protocoles SSH et SFTP sur votre réseau domestique

  2. Comment utiliser le tunneling SSH pour accéder aux serveurs restreints

  3. Ssh - Plusieurs entrées similaires dans la configuration Ssh ?

  4. Comment connecter un hôte distant à l'aide de la commande ssh

  5. comment utiliser correctement $1 dans un alias avec deux arguments

Commande d'alias Linux :comment l'utiliser avec des exemples

Comment utiliser la commande RPM (avec exemples)

Comment utiliser une clé SSH avec des utilisateurs non root

Comment installer plusieurs conteneurs Discourse sur le même serveur

Comment auto-héberger plusieurs sites WordPress sur le même serveur avec Docker

Android - Comment puis-je utiliser les commandes shell et interagir avec le système Linux en dessous ?