差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
note:cc:ssh_tunneling [2020/04/10 15:36] watalunote:cc:ssh_tunneling [2020/04/24 18:50] (現在) watalu
行 1: 行 1:
 +===== SSHトンネリング =====
 +
 +SSHトンネリングは学外から、学内のサーバを利用するのに使用する技術のひとつです。SSHポートフォワーディングとも呼ばれます。SSHトンネリングを使うと、次のことが可能になります。
 +
 +  * オンラインジャーナルなど、学内から利用可能な、学外のサービスへのアクセス
 +  * [[https://kyoumu.office.uec.ac.jp/gakunai|教務課の学内専用ページ]]へのアクセス
 +  * [[http://gpu1.ied.inf.uec.ac.jp|IEDのGPUサーバ上のJupyterHub]]へのアクセス
 +
 ==== 準備 ==== ==== 準備 ====
  
行 6: 行 14:
 |パスワード|     | |パスワード|     |
  
-==== Windowsユー向け ====+=== ブラウの設定 ===
  
-=== PuTTYインストール ===+ブラウザプロキシを次のように設定してください。
  
-次の3つのいずれかの方法でPuTTYをインストルしてください。+|プロキシサバ|localhost| 
 +|ポート|8080|
  
-1.  日本語化されたものを利用する (PuTTY PRIVATE PATCHES(PuTTY+ごった煮版+各種Patch))+あとは、次どちらかの準備をしてSSH接続をするだけです。
  
-  - [[https://ice.hotmint.com/putty/index.html|このウェブサイト]]にアクセスしてください。 +==== Windowsユザ向け ====
-  - ダウンロドいう文字を見つ、そのすぐ下のputty-gdi-20191001.zipをダウンロードしてください。クリックするとダウンロードが始まります。 +
-  - ダウンロードしたZIPファイルの中身をどこか(デスクトップかマイドキュメントかホーム)に解凍してください。Windowsでは[[https://support.microsoft.com/ja-jp/help/14200/windows-compress-uncompress-zip-files|この手順]]に従うといいです。 +
-  - フォルダの中のputty.exeを、タスクバーにピン留めするか、デスクトップにショートカットを作成しておくと良いです。[[https://support.office.com/ja-jp/article/office-プログラムまたはファイルへのデスクトップ-ショートカットを作成する-9a8df64b-cd87-4700-95cc-4bc3e2a962da?ocmsassetID=HA010077710&CorrelationId=595f1edf-b014-49c1-902e-ac4dd77f33df&ui=ja-JP&rs=ja-JP&ad=JP|この手順]]に従うといいです。 +
-  - PuTTYをクリックする。 +
- +
-2.  日本語化されたものを利用する (PuTTYjp)+
  
-  - [[https://hp.vector.co.jp/authors/VA024651/PuTTYkj.html|のウェブサイト]]にアクセスしてください。 +ここでは、PuTTYというSSHクライアントをいる方法示します。 
-  - ダウンロードいう文字を見つけ、そのすぐ下のputty-0.71-jp20190410.zipをダウンロードしてください。クリックするとダウンロードが始まります。 +[[ja:putty|PuTTYの入手とンスールはこちら]]を参考済ませください。
-  - ダウンロードしたZIPファイルの中身をどか(デスクトップかマイドキュメントかホーム)に解凍してください。Windowsでは[[https://support.microsoft.com/ja-jp/help/14200/windows-compress-uncompress-zip-files|この手順]]に従うといいです。 +
-  - フォルダの中のputtyjp.exeを、タスバーにピン留めするか、デスクトップにショートカットを作成しておくと良いです。[[https://support.office.com/ja-jp/article/office-プログムまたはファルへのデスクトップ-ショートカットを作成する-9a8df64b-cd87-4700-95cc-4bc3e2a962da?ocmsassetID=HA010077710&CorrelationId=595f1edf-b014-49c1-902e-ac4dd77f33df&ui=ja-JP&rs=ja-JP&ad=JP|この手順]]に従うといです。 +
-  - PuTTYjpをクリックす。 +
- +
-3. 開発者が提供するインストーラ使用。 +
- +
-  - [[https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html|PuTTYの開発者のウェブサイト]]にアクセスする。 +
-  - Package filesという記述の少し下に、32-bit、64-bitと記されているの見つける。 +
-  - 使っているWindowsが32ビットなら32-bit、64ビットなら64-bitの横の拡張子がmsiのファイルをクリックして、ダウンロードする。 +
-  - ダウンロードフォルダの中あるダウンロードしたファイルをクリックし実行する。なんでもOKで大丈夫。 +
-  - スタートメニューの中にPuTTYとうフォルダが作成されるので、その中のPuTTYを選ぶ+
  
 === PuTTYの設定 === === PuTTYの設定 ===
行 42: 行 34:
 {{https://www.cc.uec.ac.jp/ug/ja/_images/ssh_tunneling_putty01.PNG}} {{https://www.cc.uec.ac.jp/ug/ja/_images/ssh_tunneling_putty01.PNG}}
  
-この画面で行う操作より先に、次の画面を表示させます。+この画面で行う操作より先に、Categoryという左半分のエリアで [Connection]-[SSH]-[Tunnels]を辿って、Tunnelsをクリックし、次の画面を表示させます。
  
-{{https://www.inf.uec.ac.jp/w/lib/exe/fetch.php?media=ja:putty-tunnel.jpeg}}+{{:note:cc:putty-tunnel.jpeg|}} 
 + 
 +== 学内のメールサーバを使用する場合 ==
  
 この画面で、次の項目をキー入力して埋めます。 この画面で、次の項目をキー入力して埋めます。
 +
 +|Source port|1080|
 +|Dynamic|選択|
 +
 +そして [Add] をクリックするとForwarded ports に
 +<code>
 +D1080
 +</code>
 +と表示されます。
 +
 +{{https://www.cc.uec.ac.jp/ug/ja/_images/ssh_tunneling_putty03.PNG}}
 +
 +Mozilla Thunderbirdなど、SMTPサーバとPOP3サーバやIMAP4サーバへのアクセスに、SOCKSサーバを経由できるメーラでは、この設定を付与しておくと便利です。
 +
 +== 学内のプロキシサーバを使用する場合 ==
 +
 +同じくこの画面で、次の項目をキー入力して埋めます。
 +
 +|Source port|8080|
 +|Destination|proxy.uec.ac.jp:8080|
 +|Local|選択|
 +
 +そして [Add] をクリックするとForwarded ports に
 +<code>
 +L8080        proxy.uec.ac.jp:8080
 +</code>
 +が追加されます。
 +
 +== セッションの設定の保存 ==
 +
 +この状態で、最初の画面に戻るために、Categoryの表示の一番上の[Session]をクリックします。
 +
 +{{https://www.cc.uec.ac.jp/ug/ja/_images/ssh_tunneling_putty01.PNG}}
 +
 +ここで、次の欄をキー入力して埋めてください。
  
 |Host Name (or IP address)| sol.cc.uec.ac.jp| |Host Name (or IP address)| sol.cc.uec.ac.jp|
行 52: 行 81:
 |Saved Sessions|sol| |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のクライアントがインストールされています。ターミナルを起動するか、[[https://www.iterm2.com/|iTerm2]]などのターミナルエミュレータをインストールして起動した上で、次の1行をコマンドラインで打ち込んでください。
 +
 +<code>
 +ssh [UECアカウント]@sol.cc.uec.ac.jp
 +</code>
 +
 +学内のプロキシサーバを学外から利用するには、SSHのポートフォワーディングという機能を使います。ローカルホストの8080番ポートと学内のプロキシサーバの8080番ポートを繋ぐと、学内のプロキシサーバを学外から使うことができます。
 +
 +<code>
 +ssh -L8080:proxy.uec.ac.jp:8080 [UECアカウント]@sol.cc.uec.ac.jp
 +</code>
 +
 +このようにログインした後は、インターネットプロキシの設定を
 +
 +|サーバ|localhost|
 +|ポート|8080|
 +
 +と設定すると、学内のウェブサーバにアクセスできるようになります。
 +
 +学内のホストと通信を行うには、通信路の確立には、SSHのダイナミックフォワーディングという機能を用い、アプリケーション側のSOCKSプロキシを利用する機能と組み合わせて実現します。
 +
 +ダイナミックフォワーディングは、ローカルホストの特定のポートをSSH接続先のホストから任意のホストの任意のポートとの通信のためのSOCKSプロキシの役割を果たさせます。ローカルの1080番ポートにSOCKSの役割を果たしてもらうには、次のオプションを設定します。
 +
 +<code>
 +ssh -D 1080 [アカウント名]@sol.cc.uec.ac.jp
 +</code>
 +
 +X-Window用のGUIを持つソフトウェアをリモートホストで起動して、学外のコンピュータで用いるには、X11のフォワーディングを多段で行います。これを多段接続、多段フォワーディングなどと言います。
 +
 +<code>
 +ssh -X [アカウント名]@sol.cc.uec.ac.jp (通常はこちらで可能)
 +ssh -Y [アカウント名]@sol.cc.uec.ac.jp (こちらでないといけないと要求されたときのみ)
 +</code>
 +
 +以上のすべてを組み合わせるには、次の1行を実行します。
 +
 +<code>
 +ssh -D 1080 -L8080:proxy.uec.ac.jp:8080 -X [UECアカウント]@sol.cc.uec.ac.jp
 +</code>
 +
 +=== IEDのGPUサーバを用いる場合 ===
 +
 +IEDのGPUサーバ上のJupyter-Hubにアクセスしたい場合は、次のようにSSHトンネルを確立してくださると良いです。
 +
 +<code>
 +ssh -L8000:gpu.ied.inf.uec.ac.jp:80 \
 +       -L8001:gpu1.ied.inf.uec.ac.jp:8000 \
 +       -L8002:gpu2.ied.inf.uec.ac.jp:8000 \
 +       -L8003:gpu3.ied.inf.uec.ac.jp:8000 \
 +       -L8004:gpu4.ied.inf.uec.ac.jp:8000 \
 +       [UECアカウント]@sol.cc.uec.ac.jp
 +</code>
 +
 +このようにsolにログインした後は、次のそれぞれのURLのように、ポートを変えてアクセスすることで、4台のGPUを活用できます。
 +
 +  * http://localhost:8000/ はどのGPUサーバが空いているかの確認
 +  * http://localhost:8001/ はGPU1上のJupyter-HUBへのアクセス
 +  * http://localhost:8002/ はGPU2上のJupyter-HUBへのアクセス
 +  * http://localhost:8003/ はGPU3上のJupyter-HUBへのアクセス
 +  * http://localhost:8004/ はGPU4上のJupyter-HUBへのアクセス
 +
 +=== SSH接続の解除 ===
 +
 +SSHトンネリングを終了するには、その画面でexit [Enter]と入力します。