自宅のWindows共有サービスに出先から簡単アクセス

LinuxのsambaやWindowsのネットワーク用共有ファイル(Macについてはよくわかりません)を出先(会社や外出先等)からアクセスしようという話。

FTPなどでコマンドベースやGUIベースの操作によりファイルアクセスすればいいのでしょうが、出先によってはこういったプロトコルを遮断している場合があります。

また、単なるFTPなどでは暗号化が施されていないので、データが出先のネットワーク外に出て行くと通信経路の途中で盗聴されてしまう可能性があります。
#だからこそFTP等は遮断されているのだと思いますが...

これに対して、samba over sshという大変便利なファイル共有サービスの構築方法があります。

これを使えば自宅内のネットワークで共有ファイルにアクセスするのと同じ感覚(見え方)で操作が可能です。デスクトップにショートカットを置いておくことでクリック一発でアクセス可能になります。

ファイルをコピーしたり移動したりバックアップをとったりできます。音楽をきくことも動画を見ることも可能です。
#出先のネットワークに影響がありますが...

私の場合は、パスワードリストや小遣い帳のように、1箇所に置いてそれをどこからでもアクセスできるようにして、間違って先祖返りしないようにしておくために、この方法を使っています

出先PCのネットワークアダプタの設定変更

以下に書いてある方法で基本はOK

Grid Datafarm Gfarm over SMB over SSH [Japanese]

http://datafarm.apgrid.org/document/html/ja/user/smboverssh.html

特に、
「仮想ネットワークインターフェースのインストール」
の項目を参考にきちんと設定する(自分の環境に合わせて)

自宅ネットワークに必要なもの

  • sshサーバとなるPC(自宅ネットワーク内)
  • ルータの設定(外部からsshへのポート転送)

sshサーバとなるPCはlinuxマシンで構成するのが一般的でしょうが、WindowsマシンやAndroid携帯を使うこともできます。これは最近このブログに書いた、

「Android端末は簡単sshサーバになる」

を参照してください。sshd(sshサーバ)となるAndroid携帯とターゲットの間は暗号化されないことに注意。といっても自宅ネットワーク内部の通信を(無線LANのそれを除いて)暗号化しているひとはあまり見かけないですけど。

出先ネットワークに必要なもの

  • PortfowarderのインストールされたPC(出先のネットワーク内)
[c:portfowarderconfig.txt]

Host ssh_on_myhost
HostName xxx.xxx.xxx.xxx
# hostname or IP address
User user1
# username on server. NEEDED
Port 22

#------------------------------------------------------------------
# Samba over ssh
#------------------------------------------------------------------
LocalForward 192.168.1.10:139 192.168.1.10:139
# Samba over SSH(myLinux)
LocalForward 192.168.1.20:139 192.168.1.20:139
# Samba over SSH(myLinux2)
LocalForward 192.168.1.30:139 192.168.1.30:139
# SharedDocs(myWinXP)
LocalForward 192.168.1.40:139 192.168.1.40:139
# SharedDocs(myWinXP)
#------------------------------------------------------------------
# Dynamic Forwarding
#------------------------------------------------------------------
DynamicForward localhost:1080

これで、myLinux,myLinux2のsambaやmyWinXP,myWinXP2のネットワーク共有サービスにアクセスできます。

#エクスプローラの画面のアドレスに
\192.168.1.20
をタイプしてEnterキーを押す、などする

mediatombと併用してDLNA over ssh

linuxマシンにmediatombをインストールして自宅ネットワーク内にメディアサーバ(DLNAサーバ)を置いている場合もあると思いますが、上記とほぼ同じ方法でdlna over sshできます。

でも、samba over sshの方が自由度が高いので(自由度が高すぎて誤って消すこともありえます)私自身はdlna over sshはやってなくてsamba over sshで代用しています

以上です。