読者です 読者をやめる 読者になる 読者になる

生物物理計算化学者の雛

主に科学に関する諸々を書き留めています。

Windows7マシンによりSSHトンネリング経由でsambaを利用する手順

Windows7マシンからインターネット越しにローカルLAN内部に位置する samba サーバに接続できれば便利だということで調べたところ、方法がわかり実際に接続可能になりましたので手順をまとめておきます。

なお以下のサイトの記述を参考にしました。
http://datafarm.apgrid.org/document/html/ja/user/smboverssh.html
http://blog.asial.co.jp/208
http://salt.tea-nifty.com/linux/2010/11/samba-over-ssh.html
http://www.nikhef.nl/~janjust/CifsOverSSH/VistaLoopback.html (英語だが一番丁寧にまとまっている)

Microsoft Loopback Adapter を追加する

・「コントロールパネル」の「デバイスマネージャー」を起動
 ・「操作」「レガシハードウェアの追加」を選択
  ・「一覧から選択したハードウェアをインストール」を選択
  ・ネットワークアダプターを選択
  ・製造元「Microsoft」、ネットワークアダプター「Microsoft Loopback Adapter」を選択

Microsoft Loopback Adapter の設定

・「コントロールパネル」の「ネットワークの状態とタスクの表示」を開く
 ・左にある「アダプターの設定の変更」をクリック
 ・Microsoft Loopback Adapterをダブルクリック
 ・「プロパティ」ボタンを押す
  ・「インターネットプロトコルバージョン4(TCP/IPv4)」以外のチェックを外す
  ・「インターネットプロトコルバージョン4(TCP/IPv4)を選び、「プロパティ」ボタンを押す
   ・「次のIPアドレスを使う」を選択、IPアドレスに「169.254.0.1(これは何でもOK)」を入力(サブネットマスクに255.255.0.0が自動的に入力される)
   ・「詳細設定」ボタンを押す
    ・「WINS」タブの「NetBIOS設定」を「NetBIOS over TCP/IPを無効にする」を選択しOK

SMBドライバの設定

・管理者権限でコマンドプロンプトを起動(コマンドプロンプトを右クリックして「管理者として実行」を選ぶ
・以下のコマンドを実行

sc config smb start=demand
netsh interface portproxy add v4tov4 listenaddress=169.254.0.1 listenport=445 connectaddress=169.254.0.1 connectport=44445 (169.254.0.1はLoopback Adapterのアドレス) 
# 設定できたかどうかチェック
netsh interface portproxy show v4tov4 

Windows7 の smb タスク起動設定

・コントロールパネルの「システムとセキュリティ」「管理ツール」「タスクのスケジュール」を選択
・「操作 - タスクの作成」を選択、ウィザードで以下の設定
 ・任意の名前を指定(たとえばsamba起動)
 ・いつタスクを開始しますか?は「ログオン時」
 ・操作は「プログラムの開始」
 ・プログラム/スクリプトは「c:\windows\system32\net.exe」、引数の追加は「start smb」
 ・他のユーザでも smb を使うならば全ユーザログオン時に起動するよう設定
 ・samba起動の「プロパティ」を開き、「全般」タグの「ユーザーがログオンしているかどうかにかかわらず実行する」をチェック、「最上位の特権で実行する」をチェック

PuTTYインストール、設定

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html から putty-0.62-installer.exe をダウンロードしてインストール
Putty 日本語化も可能ですが、ここでは英語版のまま説明します)
PuTTYを起動
・「Connection - SSH - Tunnels」を選択
 ・「Source port」に先ほど設定した Loopack Adapter の「IPアドレス:ポート(上記設定ならば 169.254.0.1:44445」を設定(テキストボックスが狭くはみ出すが気にしない)
 ・「Destination」にSSH接続先のSambaサーバの「IPアドレス:ポート(冒頭図のネットワーク構成ならば 192.168.1.2:445)」を指定
 ・「Add」ボタンを押して追加
・「Session」を選択して起動時画面に戻る
 ・「Host Name」に接続先SSHサーバを入力(冒頭図のネットワーク構成ならば openServer.ac.jp )
 ・「Saved Sessions」に任意の名前(例えば remoteSamba)を入力して「Save」ボタンを押して「remoteSamba」を登録
 ・登録された「remoteSamba」をダブルクリックすると SSH サーバに接続される
 ・「ファイアウォールでブロック」というウィンドウが表示された場合は「アクセスを許可する」

SAMBA接続

・\\169.254.0.1 に接続すればよい