[GFARM LOGO] 文書集 > ユーザーズマニュアル > SSH のポート転送で Samba にアクセス

SSH のポート転送を用いて Samba にアクセスする

1. 概要

SSH サーバから見えるネットワーク上に Samba サーバが存在し,その SSH サーバに SSH でアクセスできるならば,その Samba サーバにアクセスすることができます. つまり,Windows マシンから,通常ではアクセスできない環境からでも,VPN を用いずに SSH を用いて,防火壁やインターネットを越えて,Windows のファイル共有サービスや Samba にアクセスすることができます. このために SSH のポート転送の機能を用います.手順は簡単です.

構成例1

たとえば上記の構成であれば,出先から自宅の Windows のファイルにアクセスできます.

これを応用した例として,外部からはアクセスできない Gfarm の環境に,Samba と SSH サーバを置くことで,外部からアクセスすることもできます.
Samba を経由して Gfarm にアクセスする方法は,

をご覧ください.

構成例2

構成例3

以上のような場合でも,インターネットを越えて,Samba や Gfarm にアクセスすることができます.
他の構成でも SSH を駆使してアクセスできる経路ならば応用できると思います.

以下では,(Gfarm とは関係なく) Samba や Windows マシンに SSH でポート転送する方法をご紹介します.

2. ソフトウエアの準備

3. 仮想ネットワークインターフェースのインストール

現在使用しているネットワークインターフェースとは別に,転送元となるためのネットワークインターフェースを用意します.物理的なインターフェースを増設する必要はなく,仮想的なインターフェースでも良いので,以下の方法を紹介します.
  1. コントロールパネルを開きます.
  2. ハードウエアの追加を開きます.
  3. 「次へ」を押します.
  4. 「はい、ハードウエアを接続しています」を選択して次へいきます.
  5. 一番下の「新しいハードウエアの追加」を選択して次へいきます.
  6. 「一覧から選択したハードウエアをインストールする(詳細)」を選択して次へいきます.
  7. 「ネットワーク アダプタ」を選択して次へいきます.
  8. 「Microsoft」と「Microsoft Loopback Adaptor」を選択して次へいきます.
  9. インストールが完了するまで続行します.
  10. インストールが終わったら,コントロールパネルからネットワーク接続を開きます.
  11. デバイス名が「Microsoft Loopback Adaptor」であるアイコンを探します.
  12. # このアイコンの名前を「for SMB over SSH」などわかりやすい名前にしておくとよいでしょう.
  13. プロパティを開き,全般のタブで,「Microsoft ネットワーク用ファイルとプリンタ共有」のチェックを外します.
  14. 「インターネットプロトコル(TCP/IP)」のチェックは入れたまま,選択し,プロパティを押します.
  15. 他のマシンと重ならない IP アドレスとサブネットマスクを入力します. プライベートアドレスや LINKLOCAL アドレス (169.254.*.*) のアドレス範囲を使うことになると思います. 今後は 169.254.0.1/255.255.0.0 と設定した場合の例として説明します. ゲートウェイ,DNS の項目を入力する必要はありません.
  16. 「詳細設定」を開きます. 「WINS」のタブで「NetBIOS over TCP/IP を無効にする」を選択します.
  17. それぞれ OK で決定して閉じます.

4. ポート転送の設定

SSH のローカルフォワード機能を使い,仮想ネットワークインターフェースのポート 139(Vistaの場合445)番を,接続先の SSH サーバから見えるマシンのアドレスとそのポート 139(Vistaの場合445)番に転送します.以下、139番ポートで説明していますが、Vistaの場合は全て445番に読み替えてください.

以降では,以下の構成を仮定して説明します.

PuTTY (日本語版) の場合

  1. sshserver.example.com への SSH の設定(セッション)をつくって保存し,接続できることを確認しておきます.
  2. PuTTY を起動しなおして,そのセッションをもう一度読み込みます.
  3. (「接続」→「SSH」→)「トンネル」を選択します.
  4. 源ポートに「169.254.0.1:139」(狭いですが),送り先に「192.168.1.234:139」と入力し,「ローカル」にチェックが入っていることを確認して,追加を押します.
  5. セッションを保存します.

Cygwin OpenSSH または PortForwarder の場合

Cygwin ならば .ssh/config に,PortForwarder ならば設定ファイル(.txt) に, 以下のような設定を追加します.

Host sshServerForSamba
HostName sshserver.example.com
User takuya
Port 22
LocalForward 169.254.0.1:139 192.168.1.234:139

5. 接続

  1. 上記で設定した SSH クライアントを用いて SSH サーバに接続します.
  2. エクスプローラを開きます.
  3. アドレスバーに「\\169.254.0.1」と入力します.
  4. # 繋がらない場合は,SSH クライアントを最新版にしてみてください.
  5. パスワードを聞かれる場合は,転送先の Windows または Samba 用のユーザ名とパスワード入力します.
  6. 共有フォルダをネットワークドライブに割り当てることもできます.

6. 切断

  1. マイコンピュータを右クリックし,「ネットワークドライブの切断」を開きます.
  2. 該当するドライブがあれば選択して OK で切断します.
  3. 切断後,または上記で該当するドライブが無い場合には,使用していた SSH クライアントを終了します.

7. その他

8. Linux の場合(参考/比較)

Linux の場合は,以下の手段で,手元のクライアントから直接アクセスできない Gfarm のディレクトリ以下のファイルに直接アクセスできます.さらに簡単です.
Grid Datafarm