109 votes

Se connecter avec SSH à travers un proxy

Je n'ai aucune idée de ce que je fais ici, donc gardez cela à l'esprit si vous pouvez m'aider !

J'essaie de me connecter à mon serveur virtuel via un proxy mais je n'arrive pas à me connecter, ça reste bloqué. Je suppose que c'est parce que ça ne passe pas par notre proxy.

J'ai essayé exactement la même chose à la maison et ça fonctionne parfaitement. Je suis sur OSX en utilisant Terminal pour me connecter.

Est-ce que quelqu'un peut me conseiller sur la façon dont je peux passer par le proxy avec SSH ?

1voto

sancho.s Points 1441

J'utilisais les lignes suivantes dans mon fichier .ssh/config (qui peuvent être remplacées par des paramètres en ligne de commande appropriés) sous Ubuntu

Host remhost
  HostName      my.host.com
  User          myuser
  ProxyCommand  nc -v -X 5 -x proxy-ip:1080 %h %p 2> ssh-err.log
  ServerAliveInterval 30
  ForwardX11 yes

Lorsque je l'ai utilisé avec Msys2, après avoir installé gnu-netcat, le fichier ssh-err.log a montré que l'option -X n'existait pas. nc --help l'a confirmé et semblait montrer qu'il n'y a pas d'option alternative pour gérer les proxies.

J'ai donc installé openbsd-netcat (pacman a supprimé gnu-netcat après avoir demandé, car il était en conflit avec openbsd-netcat). À première vue, et en vérifiant les pages de man respectives, openbsd-netcat et netcat d'Ubuntu semblent très similaires, en particulier en ce qui concerne les options -X et -x. Avec cela, je me suis connecté sans problème.

1voto

Ali80 Points 146

Pour se connecter à un proxy SOCKS5, il suffit d'exécuter

ssh user@destination -o "ProxyCommand=nc -X 5 -x proxyhost:proxyport %h %p"

OU ajouter les paramètres du proxy à .ssh/config

Host destinaion_host
    HostName destinaion_host
    User ali
    ProxyCommand nc -X 5 -x proxyhost:proxyport %h %p
    ServerAliveInterval 60
    ServerAliveCountMax 10

ensuite, vous pouvez simplement exécuter ssh destinaion_host

avec un merci spécial à @maxim-k

1voto

Umar Points 135

Modifier le fichier de configuration dans:

.ssh/config

Host github.com
    HostName github.com
    User git
    Port 22
    ProxyCommand nc -X 5 -x 192.168.49.1:8000 %h %p

et tester:

ssh -T git@github.com

Salut [nom d'utilisateur]! Vous êtes connecté avec succès, mais GitHub ne fournit pas l'accès shell.

0voto

cyberPrivacy Points 406

Dans mon cas, puisque j'avais un hôte intermédiaire ou hôte Bastion sur le chemin, et parce que les signatures sur ces nœuds bastion avaient changé depuis leur importation dans le fichier known_hosts, j'ai juste eu besoin de supprimer ces entrées/lignes du fichier suivant :

/Users/a.abdi-kelishami/.ssh/known_hosts

À partir du fichier ci-dessus, supprimez les lignes faisant référence aux hôtes bastion.

0voto

Ashu M Points 1

Essayez -o "ProxyCommand=nc --proxy HOST:PORT %h %p" pour la commande en question. Ça a fonctionné sur OEL6 mais doit être modifié comme indiqué pour OEL7.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X