Forcer une identity SSH pour un host en particulier 6


Vous avez accumulé un certain nombre de clés SSH, et pour certains serveurs ou certains sites Web (github, bitbucket…), vous voulez utiliser une clé SSH et pas une autre. Ce serait en effet dommage de pusher votre commit Git avec la mauvaise identité.

Sous unix, le fichier ~/.ssh/config est votre ami, rajoutez lui :

Host Un alias pour l'host
HostName Une IP ou un nom de domaine pour l'host
User votre nom d'utilisateur
IdentityFile le fichier de clé public à utiliser

Par exemple :

Host bitbucket.org
HostName bitbucket.org
User sam
IdentityFile ~/.ssh/sam.pub

Host local-dev
HostName 192.169.0.10
User dev
IdentityFile ~/.ssh/local-dev.pub

On peut créer plusieurs Host pour le même hostname, avec des résultats intéressants quand on a plusieurs identités en ligne.

6 thoughts on “Forcer une identity SSH pour un host en particulier

  • gardouille

    En vrac:


    # Ne pas vérifier la clé de l'hôte
    UserKnownHostsFile /dev/null
    StrictHostKeyChecking no
    # Établir une connection "maître"
    ControlMaster auto
    # Passer toutes les autres connections sur cet hôte par la connection maître
    # Ainsi une 2nde connection sur un hote déjà connecté ne demandera pas de mot de passe.
    ControlPath /tmp/ssh-%r@%h:%p

    ## Tunnel vers toto
    Host tunnel.toto.mydomain.org
    HostName ip_pub.mydomain.org
    port 12345
    User turlutte
    LocalForward PORT_LOCAL toto.domain.org:PORT_DISTANT

  • N

    Et pour sautiller entre les serveurs sans avoir à faire plusieurs ssh:

    Host MonServeur
    hostname ip.du.serveur.final
    ForwardAgent yes
    ProxyCommand ssh host.de.la.passerelle "nc -q0 %h %p" 2> /dev/null

  • JEEK

    J’avoue que jusque là, j’avais jamais eu besoin de ces spécificités…
    …mais ça peut être bien utile ; merci Sam et merci aux commentateurs qui rajoutent du stuff !

    Je crois que je vais remettre les mains dans le cambouis fissa… *miam*
    :-)

Leave a comment

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.