Utilisez un vrai navigateur au lieu de w3m sur les connexions SSH


10

J'utilise Ubuntu comme OS de bureau et de serveur. Lorsque je suis connecté au serveur via sshon terminalet que je dois afficher une page Web (localhost) sur le serveur, j'utilise w3m ( w3m localhost).

Malheureusement, w3m n'est pas si facile à gérer, car la page a 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 vrai navigateur (Firefox ou Chrome).

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

Est-ce possible par défaut, ou existe-t-il des modules complémentaires pour Firefox / Chrome? Je préfère Firefox.


Pas une réponse à votre question, mais ... qu'en est-il de l'utilisation du transfert X?.
Javier Rivera

1
Pourquoi ne pouvez-vous pas vous connecter au serveur distant via http? Avez-vous spécifiquement besoin que la demande provienne de localhost à des fins de test? Le transfert @Javier X, en particulier pour Firefox, est lourd sur la bande passante et je ne le recommanderais pas pour les connexions non locales.
Carsten Thiel

Il est d'une part à des fins de test, il doit donc être localhost. D'un autre côté, le serveur distant n'est pas dans le réseau local et ne peut pas être atteint via http normal.
Pit

Oui, la bande passante est un problème lors du transfert de X.
Javier Rivera

Réponses:


14

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.


Je viens de tester cela sur un serveur de mon réseau local, et cela semble fonctionner. Je le testerai plus tard avec le serveur distant.
Pit

6

PARTIE 1

Faites un proxy de chaussettes avec ssh!

ssh -D 9999 user@remoteserver

Ouvrez maintenant vos préférences Firefox, allez dans 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 sur un site similaire.

Parce que vous avez dit que vous essayez d'accéder à une page Web sur localhost (par rapport à votre serveur), vous ne voudrez peut-être pas 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 joggé 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 refusedn'a absolument rien à voir avec ssh. Apparemment, vous essayez d'accéder à quelque chose de mysql. Cela a un défi supplémentaire, car mysql bloque l'accès depuis les tunnels ssh par défaut. Je ne fais pas mysql, donc je ne sais pas de quoi je parle pour le reste. Je ne fais que citer les bits pertinents du lien à la fin, que vous devriez lire.

Ouvrez /etc/mysql/my.cnf et recherchez 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

3e partie

La solution de Javier ssh -L 8080:localhost:80 user@remoteserverest fantastique si vous avez juste besoin d'accéder à un seul endroit. Il vous permet d'accéder à localhost et laisse le reste de votre Internet tranquille. Ma solution avec ssh -D va plus loin et dirigera en fait toutes vos requêtes http vers le serveur distant. De toute évidence, vous ne voudrez peut-être pas vraiment cela. Mais je l'ai trouvé utile lorsque je voulais un accès http à toutes les machines d'un réseau, ou lorsque je ne voulais pas que mes demandes http passent par le réseau auquel je suis connecté (c'est-à-dire les services bancaires en ligne chez starbucks. Tout mon trafic va à travers le tunnel ssh vers mon domicile Internet.)


Sur demande « localhost » dans Firefox , je reçois une erreur dans le terminal où j'ouvert la connexion ssh: channel 3: open failed: connect failed: Connection refused. Je n'ai pas eu le temps de le rechercher, mais peut-être savez-vous ce que cela pourrait être?
Pit

Je viens de voir dans la page de manuel de ssh que vous devez être root pour utiliser l' -Doption. C'est la raison pour laquelle cela n'a pas fonctionné et ne fonctionnera pas, car je ne peux pas me connecter en tant que root au serveur (pour des raisons de sécurité).
Pit

Quelle? Je l'ai utilisé tout le temps en tant qu'utilisateur normal aux deux extrémités du tunnel. Oh je vois. Vous devez être root si vous essayez d'utiliser un port tel que 80 ou 21, ou l'un des autres ports réservés par l'IANA. Tout ce qui dépasse 1024 devrait convenir. Je pense que l'erreur a à voir avec votre blocage de ssh.conf vers l'avant. Je google dans ce sens maintenant.
djeikyb du

J'ai recherché votre erreur sur Google, et j'ai trouvé cet article qui dit que mysql a une "fonctionnalité" de sécurité qui bloque l'accès à partir du port par défaut. debuntu.org/…
djeikyb

2

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 GUI sur le serveur et exécutez-le simplement. La sortie apparaîtra sur votre ordinateur personnel via le transfert X et la connexion SSH sécurisée.

Comme Carsten l'a mentionné dans son commentaire à ma question et concernant le fait que le serveur distant n'est pas dans mon réseau local, qu'en est-il de la bande passante?
Pit

Vous devez définir vos besoins en bande passante. A défaut, vous pouvez essayer ceci et voir comment cela fonctionne.
user4124
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.