La question est simple, mais la réponse n'est pas:
ssh -D 8080 user@host
ou
ssh -gCNf -D 8080 user@host
ou
wathever with -D #
J'ai besoin d'une sorte de proxy que je peux utiliser avec la variable http_proxy, dans un appareil intégré qui ne prend pas en charge SOCKS.
Que devrais-je faire?
linux
ssh
proxy
socks-proxy
http-proxy
behrooz
la source
la source
ssh -D user@host:8080
?-D
spécifie un port pour ouvrir le tunnel, pas le port auquel se connecter. (Même le port de connexion est spécifié comme-p port
non:port
, pour des raisons de compatibilité.)Réponses:
Méthode 1: utilisez un proxy HTTP qui prend en charge l'utilisation d'un SOCKS en amont, par exemple Polipo ou Privoxy.
Commencez par établir un
-D
tunnel sur SSH comme toujours, puis configurez le proxy HTTP pour utiliser le tunnel SSH - exemple de configuration Polipo:Enfin, pointez l'application vers Polipo en utilisant
http_proxy=localhost:8118
.Méthode 2: exécutez votre programme à l'intérieur de l'
torsocks
encapsuleur (ou de l'ancientsocks
), qui procède à toutes les connexions par proxy de manière transparente. Il était destiné à être utilisé avec Tor, mais fonctionne avec n'importe quel serveur SOCKS, y comprisssh -D
.Méthode 3: configurez un proxy HTTP sur votre serveur , puis utilisez
ssh -L
pour y accéder.la source
Chaque
-D
résultat dans un serveur SOCKS. Si votre client ne peut pas gérer les SOCKS, oubliez-D
.Vous devez exécuter un proxy HTTP sur l'hôte distant et transmettre avec
-L
:la source
J'ai le même problème qui veut utiliser le proxy HTTP via SSH. Étant donné que de nombreuses applications ne prennent en charge que le proxy HTTP, le proxy HTTP est facile à utiliser dans l'environnement de ligne de commande.
Bien que recherché plusieurs pages mais je ne trouve pas de moyen direct (peut être enchaîné avec Polipo, Privoxy ou tsocks) de le faire ...
Après une journée de travail, j'ai terminé une version Golang simple du proxy HTTP sur SSH. N'hésitez pas à jouer avec: mallory .
Actuellement, ne prend en charge que la clé RSA (située dans $ HOME / .ssh / id_rsa) et l'autorisation de mot de passe.
host
est l'adresse du serveur SSH,port
est22
si ne change pas par votre administrateur. Le côté serveur est juste notre vieil amisshd
avec une configuration nulle.ou avec nom d'utilisateur
user
ou avec nom d'utilisateur
user
et mot de passe1234
Une fois connecté, un proxy HTTP servira sur localhost: 1315.
la source
Cela ouvrira le port 8080 sur la machine locale et transmettra toutes les données au port 12345 sur l'hôte local, comme vu depuis la machine distante.
la source
Exécutez Privoxy sur l'hôte distant, puis connectez-vous via SSH à Privoxy en utilisant l'
-L
option:( source de la page de manuel )
la source
Vous pouvez également utiliser un tire-bouchon (GPL)
Ajoutez ce qui suit à votre
.ssh/config
la source