Shoken Startup Blog

KitchHike Founder/CTO

SSHポートフォワード

LinuxSSHポートフォワードのやり方


学外からsshで入れる大学のサーバー(server.sk.tsukuba.ac.jp)を経由して、研究室のマシン(mylab.sk.tsukuba.ac.jp)にアクセスする方法
SSHポートフォワードを利用する。

$sudo ssh -L 10022:mylab.sk.tsukuba.ac.jp:22 username@server.sk.tsukuba.ac.jp

以上のコマンドを実行すると、localhostのport:10022がserver.sk.tsukuba.ac.jpのport:22に転送される。
研究室のマシン:mylabは学内からのアクセスだけを許可しているが、serverを経由することにより学外からのアクセスできるようになる。
具体的には、別ウィンドウで

$ssh -p 10022 username@localhost

とする。

参考:Object not found!

上記を利用して、筑波大学のTwinsもLinuxSSHポートフォワードで学外からアクセスできる。
WindowsではTera Term Pro + TTSSHを利用していたが、Linuxだとそんなものは必要ない。
ちなみに、Windowsでのやり方はここがわかりやすかった。
404 Not Found

  • twinsのサーバーは、twins.tsukuba.ac.jp
  • httpsを利用しているので、ポートは443

以上に注意して、先ほどのSSHポートフォワードを応用すると、

$sudo ssh -L 10433:twins.tsukuba.ac.jp:443 username@server.sk.tsukuba.ac.jp

これでブラウザで、https://localhost:10433にアクセスすると、学外からTwinsが利用できる。
Twinsのtopからのリンクは、本来のTwinsのページに飛ばされてしまうので、
学群生は
https://localhost:10433/tbu/campus
院生は
https://localhost:10433/tbu-g/campus
を直接入力したほうが良い。