KUINS-IIIでSSHポートフォワーディングを用いて内部サーバにアクセスする
ネットワークも勉強しよう勉強しようと思いながら,全く進まなくていつもGoogle先生にお世話になっています.
研究室内でサーバを立てて実験に利用しているのですが,お盆で帰省したいのに研究室外からアクセスできないのはつらい!ということで,いろいろ調べてみたところ,解決策がありました.
京都大学が運営している学術情報ネットワークサービス(KUINS)では,SSHポートフォワーディングのサービスを行っており,これを使えばできるそうです…
やりたかったこと
学外のネットワークから学内のネットワークにあるサーバにSSHでリモートログインしたい.
OSはMac OS X Marvericks.
やり方
次のような状態を想定する.
client: 学外にあるマシン(Mac).これを使ってリモートログインしたい
target: 今回リモートログインして動かしたいサーバ(Linux).学内(この場合は研究室内)にあるので,もちろんそのままアクセスすることはできない
forward.ipse.media.kyoto-u.ac.jp: SSHサーバ.学外からのアクセスが可能になっており,SSHポートフォワーディングにおける中継役となっている
0. 研究室内からtargetにSSH接続できるようにしておく.
今回の話には関係ないので割愛.
1. 私の研究室(他の研究室も?)では学外からのアクセスの場合,1023番以下のポートへのアクセスは拒否される.
よって,サーバの1024番以上のポート番号をSSH接続用に開けておく必要がある.
今回は22222番ポートをSSH用に開ける.
私の環境では,SSH用の設定は,/etc/ssh/sshd_configに書かれていたので,これを修正する.
lethe@target$ sudo emacs /etc/ssh/sshd_config
lethe@target$ sudo /etc/init.d/ssh restart
2. clientによってSSHポートフォワーディングを行う.
今回は,localhostの30000番ポートをtargetの22222番ポートに対応させることとする.
lethe@client$ ssh -fN -L 30000:[targetのIPアドレス]:22222 [自分のECS-ID or SPS-ID]@forward.ipse.media.kyoto-u.ac.jp
接続には,京都大学の学生が持つECS-IDか,教職員が持つSPS-IDが必要.
接続の際にパスワードを求められるので,IDに対するパスワードを入力する.
3. clientによるSSH接続を行う.
lethe@client$ ssh -p 30000 lethe@localhost
問題がなければ,これでつながるはず.
ポートフォワーディングについては,資料を読んでも???という感じだったので,どこかでしっかり勉強したいです.
今までは,研究室に行かないと開発が進められない情弱進行だったのですが,少しはマシになりそうですね…*1
参考
管理者必見! ネットワーク・コマンド集 - sshコマンド:ITpro
*1:どこでやろうが進まないものは進まない