web-dev-qa-db-fra.com

Utiliser un navigateur réel au lieu de w3m sur les connexions SSH

J'utilise Ubuntu comme système d'exploitation de bureau et de serveur. Lorsque je suis connecté au serveur via ssh sur terminal et que je dois afficher une page Web (localhost) sur le serveur, j'utilise w3m (w3m localhost).

Malheureusement, w3m n’est pas aussi facile à gérer car la page contient de gros menus et utilise jQuery. Je me demande donc s'il est possible d'utiliser un navigateur sur mon bureau pour se connecter au serveur via SSH avec un navigateur réel (Firefox ou Chrome).

Fondamentalement, il faudrait se connecter avec un navigateur sur mon bureau au serveur via SSH avec username et password, et d’ouvrir sur ce serveur localhost.

Est-ce possible par défaut ou existe-t-il des add-ons pour Firefox/Chrome? Je préférerais Firefox.

10
Pit

Utilisez la redirection de port ssh.

Connectez-vous au serveur distant avec quelque chose comme ceci:

ssh -L 8080:localhost:80 user@remoteserver

Maintenant, pointez votre navigateur local sur localhost: 8080. Il doit être transmis à localhost: 80 sur le serveur distant.

14
Javier Rivera

PARTIE 1

Faites un proxy chaussettes avec ssh!

ssh -D 9999 user@remoteserver

Ouvrez maintenant vos préférences Firefox, allez à Avancé> Réseau> Paramètres. Sélectionnez Configuration manuelle du proxy. Mettez localhost pour l'hôte SOCKS, mettez 9999 pour le port. Testez-le en allant sur http://whatismyip.org ou un site similaire.

Parce que vous avez dit que vous essayez d'accéder à une page Web à localhost (par rapport à votre serveur), vous pouvez ne pas vouloir exclure localhost et 127.0.0.1 de l'utilisation du proxy. Bien sûr, vous pouvez simplement utiliser l'adresse IP locale du serveur.

Si vous n'aimez pas mon explication, ces liens ont secoué ma mémoire en écrivant ceci:

http://linux.die.net/man/1/ssh

http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/

https://calomel.org/firefox_ssh_proxy.html

PARTIE 2

L'erreur que vous avez, channel 3: open failed: connect failed: Connection refused n'a absolument rien à voir avec ssh. Apparemment, vous essayez d'accéder à quelque chose de mysql. Cela pose un défi supplémentaire, car mysql bloque l'accès par défaut aux tunnels SSH. Je ne fais pas mysql, donc je ne sais pas de quoi je parle pour le reste. Je ne fais que citer les éléments pertinents du lien à la fin, que vous devriez lire.

Ouvrez /etc/mysql/my.cnf et cherchez la section [mysqld]. Si vous voyez une ligne "skip-networking", commentez-la. Ajoutez "bind-address = 127.0.0.1" (sans les guillemets, bien sûr).

http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused

Partie 3

La solution de Javier ssh -L 8080:localhost:80 user@remoteserver est fantastique si vous avez simplement besoin d'un accès à un emplacement. Il vous permet d'accéder à localhost et laisse le reste de votre connexion Internet seul. Ma solution avec ssh -D va plus loin et dirigera toutes vos requêtes http vers le serveur distant. Évidemment, vous ne voudrez peut-être pas cela. Mais je l’ai trouvé utile lorsque je souhaitais un accès http à toutes les machines d’un réseau, ou que je ne voulais pas que mes requêtes http soient acheminées via le réseau auquel je suis connecté (par exemple, les opérations bancaires en ligne chez starbucks. à travers le tunnel ssh à mon internet à la maison.)

6
djeikyb

Vous pouvez utiliser le transfert X via SSH pour que toutes les applications X que vous exécutez sur le serveur apparaissent sur votre ordinateur personnel.

  1. Lors de la connexion avec SSH au serveur, ajoutez l'indicateur -X. Par exemple, ssh -X myserver.
  2. Installez un navigateur graphique sur le serveur et exécutez-le simplement. La sortie apparaîtra sur votre ordinateur personnel via le transfert X et la connexion sécurisée SSH.
2
user4124