📺
sshトンネルで自宅EPGStationに安全に接続
問題
- 自宅PCでEPGStationを使用してTVサーバーをたてている
- 外出先からでもアクセスしたいが、単純にポートを公開してはセキュリティー的に問題がある
解決策
- sshトンネルを使用する
- sshと同等のセキュリティーでEPGStationに接続できる
- サーバー側はsshサーバーを立てて、自宅のルーターでポート開放を行う
- 接続側はどうにかsshトンネルを使って自宅サーバーに接続
- PCとスマホどちらでも可能
具体的な流れ
サーバ側
- sshサーバを立てる
- 自宅ルーターに接続して、ポートフォワード設定を行う
- (ルーターによって設定方法が異なる)
- 自宅ルーターのglobal IPを調べる
-
curl inet-ip.info
で調べられる
-
接続側
PC
-
ssh -D [port] [IP]
でトンネルする- portは適当(あとでSOCKS5に使用する)
- IPは自宅ルーターのglobal IP
- ブラウザでSOCKS5を設定する
- e.g. Firefoxの場合
- 設定
- ネットワーク設定
- 手動でプロキシーを設定
- SOCKSホストに
- localhost
- ポート: さっき設定したポート
- SOCKS5を選択
- OK
- ここまででFirefoxはプロキシを経由してwebページに接続する
- e.g. Firefoxの場合
- このままFirefoxで自宅サーバーに local IP で接続できる
- e.g. 192.168.1.42:8888 とか(自分の環境による)
スマホ
- terminus(アプリ)でポートフォワーディングすることで可能
- terminusの左上ハンバーガーメニュー
- Port forwarding
-
- Port forwarding
- bind address: ローカルでアクセスするときのaddress
- 127.0.0.1 (スマホのlocalhost)
- localport: ローカルでのport(かぶらなければなんでもいい)
- 8888
- intermediate Host: トンネルするサーバー
- globalから見れる自宅sshサーバーを指定(なければサーバーの設定を先に済ませる)
- destination address: sshサーバーに入った後に行きたいaddress
- 192.168.3.38 (今回はサーバーのアドレスそのもの)
- destination port: sshサーバーからアクセスするport
- 8888 (epgstationのポート)
- terminusの左上ハンバーガーメニュー
- ここまで設定したら、ブラウザで127.0.0.1:8888 で外出先からもEPGStationに接続できる
まとめ
- EPGStationに安全に接続する方法はほかにも全然あります
- sshトンネルを使ったことがあったので、すぐ設定できるなと思ってやりました
- これだと危険あるよ!とかあったらコメントで教えていただければと思います
より安全にsshするために
- パスワードより公開鍵認証が安全
- スマホだと鍵のやりとり面倒かも...
- デフォルトポート(22)から変更したほうが、攻撃されづらい
Discussion