MacからSSHポートフォワードで自宅のSambaにアクセスする


MacからSSHポートフォワードで自宅のSambaにアクセスする

現在自宅で動作しているSambaサーバはローカルNWからのみアクセスできる状況で、外部からアクセスすることはできません。
常々外からアクセスしたかったのですが、SSHポートフォワードならどうにかできるのではないかと思い、今回試してみました。

外部からSSHできるサーバが必要です。
smbサーバのホスト名: smb.example.com (内部のみで解決できるものでもOK)
sshできるサーバのホスト名: sshd.example.com

単純にローカルPCのLocalhostへ139番をforwardする

ローカルPC上で下記のコマンドを実行します。

### 127.0.0.1の139からsmb.example.comの139へForwardする
% sudo ssh -L 139:smb.example.com:139 [email protected]

localhostの139へアクセスしようとしても、Mac内のルールにより阻まれるようです。(127.0.0.1としても同様)

ループバックアドレスを追加して試す

127.0.0.1でなければ良いのではないかということで、127.0.0.2をループバックアドレスに追加してみます。

### ループバックアドレスを追加
% sudo ifconfig lo0 alias 127.0.0.2 255.255.255.0
% ifconfig
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 ::1 prefixlen 128
    inet 127.0.0.1 netmask 0xff000000
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x1
    inet 127.0.0.2 netmask 0xff000000
    nd6 options=1<PERFORMNUD>
...

### 127.0.0.2の139からsmb.example.comの139へForwardする
% sudo ssh -L 127.0.0.2:139:smb.example.com:139 [email protected]

127.0.0.2を指定して接続してみると、無事接続できました。

補足

1024番以上であればsudoしなくても大丈夫です。

### 127.0.0.2の8139からsmb.example.comの139へForwardする
% ssh -L 127.0.0.2:8139:smb.example.com:139 [email protected]

あとは、ショートカットも作っておくと便利です。

--

この投稿は、以前にブログに書いたものと同様の内容になります。
http://jimaoka.hatenablog.jp/entry/smb-sshforward