Avec un nc compatible OpenBSD, ajoutez cette entrée d'hôte à la configuration du client SSH, par exemple ~/.ssh/config :

Host work-through-proxy
    HostName ssh.example.com
    User alex
    ProxyCommand nc -X connect -x proxy.example.net:8080 %h %p

Utilisez ssh work-through-proxy pour cette route. L'auxiliaire demande au proxy HTTP un CONNECT vers ssh.example.com et transmet le flux accepté à SSH. Pointer SSH directement sur le port du proxy enverrait sa poignée de main à un service qui attend HTTP.

Remplacez le point de terminaison, la destination et le compte. Pour une destination SSH accessible publiquement où un intermédiaire public est autorisé, la liste de proxys HTTP propose des candidats pour vérifier l'accès à cet hôte et ce port ; choisissez un point de terminaison ne nécessitant aucun compte proxy pour la commande affichée. Ces options OpenBSD nc dépendent de l'implémentation ; un autre exécutable nommé nc peut ne pas les prendre en charge.

Le proxy peut exiger sa propre authentification ou refuser le port SSH demandé. Un 407 concerne cet échange avec le proxy. Une fois le tunnel ouvert, SSH vérifie encore l'hôte cible et authentifie son utilisateur ; une clé SSH rejetée est une autre défaillance.

Gardez le ProxyCommand dans la section Host prévue et, si nécessaire, utilisez la voie d'authentification proxy prise en charge par l'auxiliaire choisi. La commande fournit un flux, pas une autorisation à travers l'intermédiaire. Si seules des destinations HTTPS sont autorisées, obtenez un accord d'accès SSH approuvé au lieu de supposer qu'une autre orthographe de la commande change la politique.

Articles similaires