web-dev-qa-db-ja.com

sshを介してWebページにアクセスする

IEEE xploreにアクセスする必要がありますが、研究所からダウンロードする権利がありません。

Sshを介して研究所のサーバーにログインできます。

だから私はssh経由で研究所サーバーを通じてIEEE xploreにアクセスできますか?

私は解決策を探しましたが、いくつかの答えがあります:

ssh -L 8080:localhost:80 user@remoteserver

そして彼は言う:

次に、ローカルブラウザでlocalhost:8080を指定します。リモートサーバーのlocalhost:80に転送する必要があります。

よろしくお願いします!

9
ulyssis2

最初の方法:

SSHトンネルを起動します

SSHトンネルを開始するには、単にターミナルを開き、次のフラグを使用してSSH経由でリモートサーバーに接続します。

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

SSHトンネル(Chrome)でWebを閲覧する

それでは、新しいSSHトンネルを使用してウェブの閲覧を始めましょう。

  • Google Chromeを開きます
  • 右上のレンチアイコンを選択します
  • [設定]を選択します
  • [詳細設定を表示…]を選択します
  • [プロキシ設定の変更…]を選択します
  • 「SOCKSプロキシ」を選択します
  • 「127.0.0.1」と入力します
  • ポート「8080」を入力します
  • [OK]を選択して変更を保存します

Googleで「my ip」を検索し、現在のIPアドレスを確認します。

これにより、ポート8080でSSHトンネルが起動され、example.comのサーバーを介してすべてのトラフィックが(安全に)ルーティングされます。

SSHトンネルの終了

SSHトンネルを終了するには、ブラウザ内でSOCKSプロキシを無効にします。

ソース

第二の方法:

Shellinaboxを使用して簡単に実行できます

ユニバースリポジトリをチェックしたことを確認してください

インストールする

 $ Sudo apt-get install openssl shellinabox

Shellinaboxの設定

デフォルトでは、shellinaboxdはlocalhostのTCPポート4200でリッスンします。インストール中、HTTPSプロトコルを使用するために「/ var/lib/shellinabox」の下に自動的に作成される新しい自己署名SSL証明書をインストールします。

$ 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"

注意:ip 172.16.25.125をあなたのものに置き換えてください

Shellinaboxの起動

設定が完了したら、サービスを開始できます

$ Sudo service shellinaboxd start

Shellinaboxを確認する

次に、「netstat」コマンドを使用して、Shellinaboxがポート4200で実行されているかどうかを確認します。

$ 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

Webブラウザを開き、「https:// "Your-IP-Adress:6175"」に移動します。 WebベースのSSHターミナルが表示されるはずです。ユーザー名とパスワードを使用してログインすると、シェルプロンプトが表示されます。

enter image description here

ソース

19
Maythux

あなたが提供した例は正しいですが、やや誤解を招くかもしれません。これは動作するはずです:

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

たとえば、ローカルで表示したいこのWebページにアクセスできるsshを実行しているリモートボックスを考えます。

http://192.168.1.2/index.html

ローカルページにそのリモートページを参照できるトンネルを作成するには、ローカルで実行します。

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

そして、ウェブブラウザで、私は訪問します:

http:// localhost:8080/index.html

80が「特権」ポート(<1024)であるため、ポート指定子を省略する必要がある(または省略する)場合は、ルートとしてトンネルを開く必要があります。

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

次に、ローカルにアクセスできます。

http://localhost/index.html

他の構成は必要ありません。

ちなみに、これはローカルで表示したいsingleホストでのみ機能します。さらに表示する必要がある場合は、他のポートでさらにトンネルを開くか、プロキシを介してすべてのリモートホストへの要求をトンネリングする他のソリューションを調べる必要があります。

これは、-Lからのman sshスイッチの3番目の使用法です。

 -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