web-dev-qa-db-fra.com

accéder à la page Web via ssh

Je dois accéder à l'IEEE xplore, mais je n'ai pas le droit de télécharger l'institut.

Je peux me connecter au serveur de l'institut via ssh,

alors, comment puis-je accéder à IEEE xplore via le serveur institute via ssh?

J'ai cherché des solutions, une réponse:

ssh -L 8080:localhost:80 user@remoteserver

et puis il dit:

Maintenant, pointez votre navigateur local sur localhost: 8080. Il devrait être transmis à localhost: 80 sur le serveur distant. ### Mais je ne sais toujours pas comment configurer mon ordinateur portable, je me sers de chrome.

J'apprécie beaucoup votre aide!

9
ulyssis2

Première méthode:

Lancer un tunnel SSH

Pour initier votre tunnel SSH, ouvrez simplement le terminal et connectez-vous à votre serveur distant via SSH avec les drapeaux suivants:

ssh -D 8080 -C -N [email protected]

Naviguez sur le Web avec votre tunnel SSH (Chrome)

Maintenant, commençons à naviguer sur le Web en utilisant notre nouveau tunnel SSH.

  • Ouvrez Google Chrome
  • Sélectionnez l'icône de la clé en haut à droite
  • Sélectionnez "Paramètres"
  • Sélectionnez "Afficher les paramètres avancés…".
  • Sélectionnez "Modifier les paramètres de proxy…".
  • Sélectionnez "Proxy SOCKS"
  • Entrez 127.0.0.1 ′
  • Entrez le port ’8080’
  • Enregistrez les modifications en sélectionnant "OK"

Recherchez sur Google "mon adresse" et examinez votre adresse IP actuelle.

Cela lancera notre tunnel SSH sur le port 8080 et acheminera tout le trafic (de manière sécurisée) via le serveur à example.com.

Sortie du tunnel SSH

Pour quitter le tunnel SSH, désactivez simplement le proxy SOCKS dans votre navigateur.

source

Deuxième méthode:

Vous pouvez le faire facilement en utilisant Shellinabox

Assurez-vous que vous avez coché le référentiel d'Univers

À installer

 $ Sudo apt-get install openssl shellinabox

Configuration de Shellinabox

Par défaut, shellinaboxd écoute sur TCP port 4200 sur localhost.Durant l'installation, un nouveau certificat SSL auto-signé créé automatiquement sous "/ var/lib/shellinabox" pour utiliser le protocole HTTPS.

$ Sudo vi /etc/default/shellinabox

# specify the IP address of a destination SSH server
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125"

# if you want to restrict access to shellinaboxd from localhost only
SHELLINABOX_ARGS="--o-beep -s /:SSH:172.16.25.125 --localhost-only"

NB: remplacez l'ip 172.16.25.125 par le vôtre

Démarrer Shellinabox

Une fois la configuration terminée, vous pouvez démarrer le service.

$ Sudo service shellinaboxd start

Vérifiez Shellinabox

Voyons maintenant si Shellinabox fonctionne sur le port 4200 à l’aide de la commande "netstat".

$ Sudo netstat -nap | grep shellinabox
or
# netstat -nap | grep shellinabox

tcp        0      0 0.0.0.0:4200            0.0.0.0:*               LISTEN      12274/shellinaboxd

Ouvrez maintenant votre navigateur Web et accédez à l'adresse 'https: // "Votre adresse IP: 6175"'. Vous devriez pouvoir voir un terminal SSH basé sur le Web. Connectez-vous à l'aide de votre nom d'utilisateur et de votre mot de passe. Votre invite Shell devrait vous être présentée.

enter image description here

source

19
Maythux

L'exemple que vous avez fourni est correct, mais quelque peu trompeur. Cela devrait fonctionner:

ssh -L 8080:<remote-web-Host-you-want-to-see>:80 remote-user@remote-ssh-server

Par exemple, considérons une boîte distante exécutant ssh pouvant accéder à cette page Web que je souhaite voir localement:

http://192.168.1.2/index.html

Pour créer un tunnel sur ma boîte locale qui me permet d'accéder à cette page distante, j'exécute localement:

ssh -L 8080:192.168.1.2:80 user@remote-ssh-server

Et puis, dans un navigateur Web, je visite:

http: // localhost: 8080/index.html

Si vous devez (ou souhaitez) omettre le spécificateur de port, vous devez ouvrir le tunnel en tant que root, car 80 est un port "privilégié" (<1024):

Sudo ssh -L 80:<remote-web-Host-you-want-to-see>:80 remote-user@remote-ssh-server

Ensuite, vous pouvez simplement visiter localement:

http: //localhost/index.html

Aucune autre configuration n'est requise.

Incidemment, cela ne fonctionne que pour un hôte unique que vous souhaitez voir localement. Si vous avez besoin d'en voir plus, vous devez soit ouvrir plus de tunnels sur d'autres ports, soit examiner les autres solutions qui acheminent les requêtes de tunnel pour tous les hôtes distants via un proxy.

Il s'agit de la troisième utilisation du commutateur -L à partir de man ssh:

 -L [bind_address:]port:Host:hostport
 -L [bind_address:]port:remote_socket
 -L local_socket:Host:hostport
 -L local_socket:remote_socket
         Specifies that connections to the given TCP port or Unix socket on the
         local (client) Host are to be forwarded to the given Host and port, or
         Unix socket, on the remote side.  This works by allocating a socket to
         listen to either a TCP port on the local side, optionally bound to the
         specified bind_address, or to a Unix socket.  Whenever a connection is
         made to the local port or socket, the connection is forwarded over the
         secure channel, and a connection is made to either Host port hostport,
         or the Unix socket remote_socket, from the remote machine.

         Port forwardings can also be specified in the configuration file.  Only
         the superuser can forward privileged ports.  IPv6 addresses can be
         specified by enclosing the address in square brackets.

         By default, the local port is bound in accordance with the GatewayPorts
         setting.  However, an explicit bind_address may be used to bind the
         connection to a specific address.  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.
1
Trevor