web-dev-qa-db-fra.com

Comment puis-je faire un tunnel SSH?

Après en lisant un article à propos de l’attractivité de SSH, j’ai essayé la solution proposée pour tunnelliser votre connexion.

C'est la toute première fois que j'essaye ça.

J'ai ouvert un terminal et tapé:

ssh -D 9999 -C myUsername@localhost

Et j'ai ce message:

Les ports privilégiés ne peuvent être transférés que par root.

J'ai donc recommencé cette fois avec Sudo:

Sudo ssh -D 9999 -C root@localhost

Mais je ne peux toujours pas accéder. Voici le message que j'ai reçu cette fois:

ssh: se connecter au port hôte 22 de l'hôte local: connexion refusée

Qu'est-ce que je fais mal?

4
Rosamunda

Un simple tunnel est plus généralement fait comme

ssh -L 8080: localhost: 80 [email protected]

  • -L = port local en aval, c'est-à-dire d'où je me trouve où je vais
  • 8080 = port sur cette machine à transférer. Le port auquel mon navigateur se connectera en tant que http: // localhost: 808
  • localhost = La destination sur le serveur distant , dans ce cas même.
  • 80 = Port sur l'ordinateur distant (cible) auquel se connecter, le port sur lequel le service est exécuté.

Cela vous permettrait d'accéder au serveur Web sur le serveur distant, lorsque vous y avez accès ssh, mais que vous n'avez pas accès au Web.

ssh'ing à votre localhost est généralement inutile. Cela est fait uniquement pour vérifier que votre serveur ssh fonctionne correctement ou que les clés sont correctes.

L'erreur de connexion refusée que vous voyez est due au fait que le serveur ssh ne s'exécute pas sur votre ordinateur local. Sudo apt-get install openssh-server Ensuite, vous pouvez ssh sur votre machine locale à partir de localhost, ou n'importe où ailleurs, vous pouvez obtenir une connexion du port 22 à cette machine (généralement derrière votre pare-feu de réseau local).

-D (redirection d'application dynamique) est un cas différent, et s'appliquerait davantage si une application client complexe épineuse (par exemple, mysql) sur votre ordinateur local doit accéder à un serveur situé sur un ordinateur distant. Il est moins souvent utilisé.

Le message concernant les ports privilégiés apparaît lorsque vous essayez de rediriger un port local inférieur à 1024. Par conséquent, utilisez le port 8080 dans l'exemple ci-dessus pour éviter le port privilégié 80. Pour l'exemple ci-dessus, votre navigateur utiliserait http://localhost:8080

8
David McNeill