2014年12月14日日曜日

MacでSSH ポートフォワーディング+Firefox SOCK5で快適社内WEBブラウジング

自宅から社内のネット環境や自分のPCに入りたい時によく使われる手段として
SSHのポートフォワーディングがあり、
社内からしか見れないWEBサイトに自宅PCのブラウザからアクセスする場合、ブラウザのプロキシ設定にSOCKSを使う(Fireoxはブラウザ独自に設定があるので使われることが多い)方法があるが、

SSH ポートフォワーディング+SOCKS+firefoxなどで検索してでてくるやり方と自分のMac環境でのやり方がちょっとだけ違ったりうっかりミスをする箇所があるのでメモ。

ちなみに、SOCKS使う前は、SSHポートフォワーディングでログインして、X経由で社内PCのfirefoxを起動していたりしたが、とにかく重くて使い物にならないので、この方法にした。

WEBページに限定して使うなら、リモートデスクトップより格段に早いのでオススメです。そして、昨今の社内業務のほとんどはWEBブラウザ内で完結してしまうというクラウド世界なので、ほとんどこれだけで事足りたりする。

ちなみに、SSHポーオフォワーディング、SOCKSなどの説明は他にわかりやすく説明してあるサイトがたくさんあるので、そちらを参考にされたい。

準備:SSHダイナミック転送


よく書かれている例では

ssh -D 適当なポート  ユーザー名@ドメイン

といったようにダイナミック転送で繋げた上で

FirefoxのSOCKSプロキシにドメインとポート指定となるが、

上記はドメインが直接リモートホストの場合で、自分のようにssh/configに

Host MyOffice 
Hostname remote.myoffice.co.jp 
User oreore 
LocalForward 8000 192.168.1.1:22

となどと設定して、

ssh MyOffice (リモートサーバーログイン)

ssh myuser@localhost -p 8000 (ローカルホストに転送してそっから自分の社内PCに入る)

(Macのsshコマンドはlocalhost:8000とか書けない)

といった感じでローカルホストでポートフォワーディングしてリモートにはいってる場合には使えない。

この場合には

ssh -D 任意ポート myuser@localhost -p 8000

とする。

FirefoxのSOCKSプロキシの設定


上記の場合、
ホスト=127.0.0.1にして
ポートはフォワードしてる-p(8000)のほうではなく、-Dのほう(任意ポート)を指定すする。(仕組みを知ってれば当たり前といえばそうだけど)

「リモートDNS」にチェックを入れる(自分の環境だと、これにチェックをいれないと見えないサイトがあった)

これだけなんだけど、エンジニアでないひとやネットワークに詳しくない人、そして自分のようにそそっかしい人の備忘録にはなるかな。
(エンジニアでないひとはそもそもSSHコマンドなんかつかわず、何かしらのリモートデスクトップ使ってるだろうけど。。)