MacからSSHポートフォワードで自宅のSambaにアクセスする
現在自宅で動作しているSambaサーバはローカルNWからのみアクセスできる状況で、外部からアクセスすることはできません。
常々外からアクセスしたかったのですが、SSHポートフォワードならどうにかできるのではないかと思い、今回試してみました。
外部からSSHできるサーバが必要です。
smbサーバのホスト名: smb.example.com (内部のみで解決できるものでもOK)
sshできるサーバのホスト名: sshd.example.com
単純にLocalhostへForwardする
ローカルPC上で下記のコマンドを実行します。
### 127.0.0.1の139からsmb.example.comの139へForwardする % sudo ssh -L 139:smb.example.com:139 username@sshd.example.com
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 username@sshd.example.com
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 username@sshd.example.com
あとは、ショートカットも作っておくと便利です。