文書の過去の版を表示しています。
目次
SSHトンネリング
SSHトンネリングは学外から、学内のサーバを利用するのに使用する技術のひとつです。SSHポートフォワーディングとも呼ばれます。SSHトンネリングを使うと、次のことが可能になります。
- オンラインジャーナルなど、学内から利用可能な、学外のサービスへのアクセス
- 教務課の学内専用ページへのアクセス
- IEDのGPUサーバ上のJupyterHubへのアクセス
準備
次の情報を用意してください。
UECアカウント | |
パスワード |
ブラウザの設定
ブラウザのプロキシを次のように設定してください。
プロキシサーバ | localhost |
ポート | 8080 |
あとは、次のどちらかの準備をしてSSH接続をするだけです。
Windowsユーザ向け
ここでは、PuTTYというSSHクライアントを用いる方法を示します。 PuTTYの入手とインストールはこちらを参考に済ませてください。
PuTTYの設定
PuTTYを起動すると、次の画面、もしくはその日本語化された画面が表示されます。
この画面で行う操作より先に、Categoryという左半分のエリアで [Connection]-[SSH]-[Tunnels]を辿って、Tunnelsをクリックし、次の画面を表示させます。
この画面で、次の項目をキー入力して埋めます。
Source port | 1080 |
Dynamic | 選択 |
そして [Add] をクリックするとForwarded ports に
D1080
と表示されます。
同じくこの画面で、次の項目をキー入力して埋めます。
Source port | 8080 |
Destination | proxy.uec.ac.jp:8080 |
Local | 選択 |
そして [Add] をクリックするとForwarded ports に
L8080 proxy.uec.ac.jp:8080
が追加されます。
この状態で、最初の画面に戻るために、Categoryの表示の一番上の[Session]をクリックします。
ここで、次の欄をキー入力して埋めてください。
Host Name (or IP address) | sol.cc.uec.ac.jp |
Port | 22 |
Saved Sessions | sol |
こののちに[Save]をクリックすると、今まで行った設定がsolという名前で保存されます。
PuTTYによるsolへのSSH接続と接続解除
Saved Sessionsの下のsolをダブルクリックしてから、一番下の[Open]を押すと、solへのSSH接続が始まります。
そうしたらUECアカウントとパスワードを入力すると、solにログインされます。UNIXサーバにログインしますが、UNIXは使いません。
SSHトンネリングを終了するには、その画面でexit [Enter]と入力します。
Macユーザ向け
SSH接続
UNIXサーバにログインしますが、UNIXは使いません。
macOSが動いているコンピュータにはSSHのクライアントがインストールされています。ターミナルを起動するか、iTerm2などのターミナルエミュレータをインストールして起動した上で、次の1行をコマンドラインで打ち込んでください。
ssh [UECアカウント]@sol.cc.uec.ac.jp
学内のプロキシサーバを学外から利用するには、SSHのポートフォワーディングという機能を使います。ローカルホストの8080番ポートと学内のプロキシサーバの8080番ポートを繋ぐと、学内のプロキシサーバを学外から使うことができます。
ssh -L8080:proxy.uec.ac.jp:8080 [UECアカウント]@sol.cc.uec.ac.jp
このようにログインした後は、インターネットプロキシの設定を
サーバ | localhost |
ポート | 8080 |
と設定すると、学内のウェブサーバにアクセスできるようになります。
学内のホストと通信を行うには、通信路の確立には、SSHのダイナミックフォワーディングという機能を用い、アプリケーション側のSOCKSプロキシを利用する機能と組み合わせて実現します。
ダイナミックフォワーディングは、ローカルホストの特定のポートをSSH接続先のホストから任意のホストの任意のポートとの通信のためのSOCKSプロキシの役割を果たさせます。ローカルの1080番ポートにSOCKSの役割を果たしてもらうには、次のオプションを設定します。
ssh -D 1080 [アカウント名]@sol.cc.uec.ac.jp
X-Window用のGUIを持つソフトウェアをリモートホストで起動して、学外のコンピュータで用いるには、X11のフォワーディングを多段で行います。これを多段接続、多段フォワーディングなどと言います。
ssh -X [アカウント名]@sol.cc.uec.ac.jp (通常はこちらで可能) ssh -Y [アカウント名]@sol.cc.uec.ac.jp (こちらでないといけないと要求されたときのみ)
以上のすべてを組み合わせるには、次の1行を実行します。
ssh -D 1080 -L8080:proxy.uec.ac.jp:8080 -X [UECアカウント]@sol.cc.uec.ac.jp
IEDのGPUサーバを用いる場合
IEDのGPUサーバ上のJupyter-Hubにアクセスしたい場合は、次のようにSSHトンネルを確立してくださると良いです。
ssh -L8000:gpu.ied.inf.uec.ac.jp:80 -L8001:gpu1.ied.inf.uec.ac.jp:8080 -L8002:gpu2.ied.inf.uec.ac.jp:8080 -L8003:gpu3.ied.inf.uec.ac.jp:8080 -L8004:gpu4.ied.inf.uec.ac.jp:8080 [UECアカウント]@sol.cc.uec.ac.jp
このようにsolにログインした後は、次のそれぞれのURLのように、ポートを変えてアクセスすることで、4台のGPUを活用できます。
- http://localhost:8080/ はどのGPUサーバが空いているかの確認
- http://localhost:8081/ はGPU1上のJupyter-HUBへのアクセス
- http://localhost:8082/ はGPU2上のJupyter-HUBへのアクセス
- http://localhost:8083/ はGPU3上のJupyter-HUBへのアクセス
- http://localhost:8084/ はGPU4上のJupyter-HUBへのアクセス
SSH接続の解除
SSHトンネリングを終了するには、その画面でexit [Enter]と入力します。