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.
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.
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.)
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.
ssh -X myserver
.