いままでssh hostname -X
みたいな感じで学内の端末につないでX転送してたんだけど、SOCKS使うとこれが要らなくなる。ということを教えていただいた。
@masawada X転送よりは-DオプションでSOCKSプロキシにして手元のブラウザを使うほうがスマートかも
— ろ。まのふ (@kamiya344) 2015年6月18日
ありがとうございます!!
接続方法
まず、事前に学内のサーバへssh接続できるように.ssh/config
を編集しておく。
Host uec User [ユーザ名] HostName [学内サーバのホスト名] IdentityFile [秘密鍵の在処]
次に、ここへsshで接続する。
$ ssh -f -N -D 1080 uec
fオプションはバックグラウンドで実行するためのもの。Nオプションでremote commandを実行しないようにする。DオプションをつけておくとSOCKSプロキシとしてlistenするポートを指定できる。ここでは1080番で受ける。
Macならネットワークの詳細設定からSOCKSプロキシを設定できる。Exclude simple hostnamesってところにチェックをいれないとうまく動かない。これで設定を適用するとソケット通信がssh先のサーバ経由で行われるので学内コンテンツを閲覧することができる。Windowsは知らない。
学内コンテンツだけでなく、学内からでないと登録ができないCiNiiのサイトライセンス個人IDアカウント*1を作成できたりもする。便利だった。
*1:定額アクセス論文を無料で閲覧できる