J'essaie de comprendre les différences entre ssh -L et -D. Y a-t-il autre chose à part que -D n'est que SOCKS?
Merci!
J'essaie de comprendre les différences entre ssh -L et -D. Y a-t-il autre chose à part que -D n'est que SOCKS?
Merci!
Réponses:
ssh -L
ouvre un port local. Tout ce que vous envoyez à ce port passe par la connexion ssh et part par le serveur. Si vous le faites, par exemple, ssh -L 4444:google.com:80
si vous ouvrez http://localhost:4444
sur votre navigateur, vous verrez réellement la page de Google.
ssh -D
ouvre un port local, mais il n’a pas de point final spécifique comme avec -L
. Au lieu de cela, il prétend être un proxy SOCKS. Si vous ouvrez, par exemple, ssh -D 7777
lorsque vous indiquez à votre navigateur de vous utiliser localhost:7777
comme proxy SOCKS, tout ce que votre navigateur demande passe par le tunnel ssh. Pour l'Internet public, c'est comme si vous naviguiez depuis votre serveur ssh plutôt que depuis votre ordinateur.
The bind_address of “localhost” indicates that the listening port be bound for local use only, while an empty address or ‘*’ indicates that the port should be available from all interfaces.
ssh -L 4444:google.com:80
ne fonctionne pas pour moi, il nécessite un autre paramètre pour la connexion, comme utilisateur@exemple.com
En SSH, -D
spécifie une redirection de port «dynamique» au niveau de l'application locale.
SSH -D [bind_address:]port
Spécifie une redirection de port «dynamique» au niveau de l'application locale. Cela fonctionne en allouant un socket pour écouter le port sur le côté local, éventuellement lié à l'adresse bind_address spécifiée. Chaque fois qu'une connexion est établie sur ce port, la connexion est transmise via le canal sécurisé et le protocole d'application est ensuite utilisé pour déterminer le point de connexion de la machine distante. Actuellement, les protocoles SOCKS4 et SOCKS5 sont pris en charge et ssh agira comme un serveur SOCKS. Seul root peut transférer des ports privilégiés. Les transferts de ports dynamiques peuvent également être spécifiés dans le fichier de configuration.
Les adresses IPv6 peuvent être spécifiées avec une syntaxe alternative: port [bind_address /] ou en mettant l'adresse entre crochets.
Seul le superutilisateur peut transférer des ports privilégiés. Par défaut, le port local est lié conformément au paramètre GatewayPorts. Toutefois, une adresse bind_address explicite peut être utilisée pour lier la connexion à une adresse spécifique. Bind_address de «localhost» indique que le port d'écoute doit être lié à un usage local uniquement, tandis qu'une adresse vide ou «*» indique que le port doit être disponible à partir de toutes les interfaces.
De plus, ssh -L
spécifie que le port donné sur l'hôte local (client) doit être transféré à l'hôte donné et au port côté distant.
SSH -L [bind_address:]port:host:hostport
Spécifie que le port donné sur l'hôte local (client) doit être transféré à l'hôte donné et au port côté distant. Cela fonctionne en allouant un socket pour écouter le port sur le côté local, éventuellement lié à l'adresse bind_address spécifiée. Chaque fois qu'une connexion est établie avec ce port, la connexion est transférée via le canal sécurisé et une connexion est établie pour héberger le port hostport de la machine distante. Les transferts de port peuvent également être spécifiés dans le fichier de configuration. Les adresses IPv6 peuvent être spécifiées avec une autre syntaxe: [adresse_bind /] port / hôte / hôte ou en mettant l'adresse entre crochets.
Seul le superutilisateur peut transférer des ports privilégiés. Par défaut, le port local est lié conformément au paramètre GatewayPorts. Toutefois, une adresse bind_address explicite peut être utilisée pour lier la connexion à une adresse spécifique. Bind_address de «localhost» indique que le port d'écoute doit être lié à un usage local uniquement, tandis qu'une adresse vide ou «*» indique que le port doit être disponible à partir de toutes les interfaces.