IEEE xploreにアクセスする必要がありますが、研究所からダウンロードする権利がありません。
Sshを介して研究所のサーバーにログインできます。
だから私はssh経由で研究所サーバーを通じてIEEE xploreにアクセスできますか?
私は解決策を探しましたが、いくつかの答えがあります:
ssh -L 8080:localhost:80 user@remoteserver
そして彼は言う:
次に、ローカルブラウザでlocalhost:8080を指定します。リモートサーバーのlocalhost:80に転送する必要があります。
よろしくお願いします!
最初の方法:
SSHトンネルを起動します
SSHトンネルを開始するには、単にターミナルを開き、次のフラグを使用してSSH経由でリモートサーバーに接続します。
ssh -D 8080 -C -N [email protected]
SSHトンネル(Chrome)でWebを閲覧する
それでは、新しいSSHトンネルを使用してウェブの閲覧を始めましょう。
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ターミナルが表示されるはずです。ユーザー名とパスワードを使用してログインすると、シェルプロンプトが表示されます。
あなたが提供した例は正しいですが、やや誤解を招くかもしれません。これは動作するはずです:
ssh -L 8080:<remote-web-Host-you-want-to-see>:80 remote-user@remote-ssh-server
たとえば、ローカルで表示したいこのWebページにアクセスできるsshを実行しているリモートボックスを考えます。
ローカルページにそのリモートページを参照できるトンネルを作成するには、ローカルで実行します。
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
次に、ローカルにアクセスできます。
他の構成は必要ありません。
ちなみに、これはローカルで表示したい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.