mchanaud a écrit 1 commentaire

  • # petites rectifications et plus si affinités

    Posté par  . En réponse au message [Web/Réseau] Connection ssh simplifiée à travers un tunnel. Évalué à 2.

    La syntaxe exacte pour un tunnel ssh dans le cas présent est la suivante :

    ssh -L [port local]:[ip ithaque]:[port ssh ithaque] odyssee

    Reprenons tout cela avec trois machines A, B et C. On veut un connexion ssh entre A et C en passant par B. Le serveur ssh de C ecoutant sur le port 2222 On fera alors
    ssh -L 1111:C:2222 B
    puis
    ssh -p 1111 localhost

    La connexion entre A et B se faisant par le port 22, celle entre B et C par le port 2222.

    Deuxième remarque, modifier /etc/hosts n'est pas vraiement la solution à ce problème. Quitte à utiliser .ssh/config, autant le faire jusqu'au bout :

    Host ithaque
    User [utilisateur d'ithaque]
    HostName localhost <-- ici on dit que ithaque est en realité localhost
    Port [port local] <-- celui qu'on a ouvert avec ssh -L
    ..... (facultatif : HostKeyAlias, etc....)


    Ainsi un "ssh ithaque" se connectera à localhost par le bon port.

    Mieux encore, on peut éviter de créer un port local et directement arriver sur ithaque en utilisant l'option ProxyCommand de ssh et netcat :

    Host ithaque
    User [utilisateur ithaque]
    Hostname ithaque <--- ou IP ithaque
    Port [Port ssh ithaque]
    ProxyCommand ssh -p [port ssh odyssee] odyssee nc %h %p


    ssh ithaque se connectera à odyssee qui redirigera le flux vers ithaque grâce à netcat
    (ces solutions marchent, mais je n'ai pas vérifié leurs syntaxes, il se peut donc qu'il y ait quelques erreurs. Pour les corrections et plus de détails : man ssh_config)