読者です 読者をやめる 読者になる 読者になる

けつあご日記

きくちはやみのふぃくさーにしかなりたくない.ひゃっぽゆずっててんほういは,あり.

京大ネットワークssh接続メモ

ネットワーク CentOS Mac ライフハック


おうちからネットワークに繋いで研究室から解き放たれてノマドワーカーになるためのメモ.クライアントはMacのつもりで書いている.

ポートフォワーディングが必要よ

いずれもKUINS-II(学外)からKUINS-III(学内)へのアクセスになる(?)のでポートフォワーディングが必須になる.ポートフォワーディングというのは,セキュリティのためにいい感じにトンネルを通すための方法だと思っていればよし.↓がわかりやすい.
www.kmc.gr.jp

研究室PCへの接続

解析用サーバPCなどにアクセスするとき.サーバはLinuxを想定(ちなみにCentOS6.6).

まずは,そもそも研究室のネットワークに学外から接続できるかどうか確認する必要がある.研究室のネットワーク管理者に「ウチのVLANってハイポートへの接続って許可されてます?」と聞いてみよう.「ナニソレ」と言われることだろう(※ハイポートとは1024番以降のポートのこと.深く考えなくてよい.これじゃないと接続ができないだけ)

大学の情報環境機構(お問い合わせ | 京都大学情報環境機構)にVLANの管理番号(これはネットワーク管理者が知っているはず)を伝えれば許可されているか教えてくれるが,とりあえず接続を試みて,ダメだったら問い合わせればいいと思う.

まずは研究室内の同一ネットワークから一度接続する.パスワード認証ではなく鍵認証をちゃんと設定しておくのが無難だろう.
qiita.com

そのあと学外からの接続を試みる.が,ここでおうちに帰ってしまうとサーバ側の設定に不備があった場合,研究室に出動しなくてはいけない.クライアントはeduroamに接続し,その状態でサーバに接続できるかを確認すると良い.eduroamはKUINS-IIだと思うので,これで接続できればおうちでも問題なく接続できるはず.

接続方法はこちら.
lethe2211.hatenablog.com

手順0までは終わっているので,サーバの/etc/ssh/sshd_configの設定から始めればよい.

# 開放するハイポートの追加
Port 22222

# ポートフォワーディングの許可
AllowTcpForwarding yes

デフォルトの状態からなら以上の項目を変更すればいいと思うが,予めいじってあるならほかも編集する必要があるかも.まぁとりあえずこれでやってみるといいでしょう.

【参考】/etc/ssh/sshd_configの#
/etc/ssh/sshd_configでは#が「コメントアウト」を表すときと「デフォルトの設定」を表すときがあるらしい.
# The default requires explicit activation of protocol 1
のように#のあとにスペースがあるとコメントアウト,
#Protocol 2
のようにスペースがなければデフォルトの設定.デフォルトの設定を変更するときは#を消して編集してもいいし,別の行に#なしで書いてもよさそうだ.

上のサイトでは

ssh -fN -L 30000:[サーバーのIPアドレス]:22222 [自分のECS-ID or SPS-ID]@forward.ipse.media.kyoto-u.ac.jp

となっているが,2016年度現在ではポートフォワーディングサーバーが変更されているので,

ssh -fN -L 30000:[サーバーのIPアドレス]:22222 [自分のECS-ID or SPS-ID]@forward.kuins.kyoto-u.ac.jp


とする.(-fNはバックグラウンドでの起動のためのオプションだが,最初はこれは付けずに,パス認証後に"forward%"というプロンプトが表示されるかを見たほうが良いかも)これでECS-IDもしくはSPS-IDに対するパスワードが求められる.パスを入力して問題なければOK.

なにかおかしいなら,サーバの/etc/ssh/sshd_configの設定がおかしい可能性が高い.ここらへんのトラブルシューティングは,sshコマンドに-vvvオプションを追加してデバッグメッセージを読みながら,怪しい部分をコピペしてぐぐっていくのがよいかと.


ここまで問題なければ,上のサイト通り,

ssh -p 30000 [サーバー側でログインしたいユーザー名]@localhost

とすればよい.鍵がちゃんと設定されていればすんなりログインできるはず.パスワード認証を許可していればそっちになるかも.自分はココで激しい勘違いをして, [サーバー側でログインしたいユーザー名]のところを[クライアントでログインしているユーザー名]にして鬼のようのハマってしまった(いまやlocalhostの30000番はサーバーに繋がっているのだよ!).数日ムダにした.なぜこんなところで勘違いしていたのか...死にたい.ここでもなにかおかしければ,-vvvオプションを付けてメッセージを見ると良いと思う.

クライアントPCをしばらく放っておくとsshが切れてしまうことがよく起きるが,これはautosshというツールで解決できる.
qiita.com

なぜかバックグラウンドで動かすのがうまくいかなかった...妥協策は別記事に書いたのでそっちを見てください↓.

www.ketsuago.com

学内Webリソースへのアクセス

以上で研究室内に置いてあるサーバにアクセスできるようになったが,これだけではノマドできないだろう.オープンな論文は普通にネットから読めるが,京大が契約しているジャーナルの論文は京大のネットワークを介していないと読めない.

が,こっちの方法は非常に簡単.下のとおりにやればすんなりいく.Windowsはちょっとめんどそうだが.
www.iimc.kyoto-u.ac.jp

こちらのsshポートフォワーディングもautosshにしておくとよいだろう.ただ,論文にアクセスしなくてもいい日もあるだろうから,僕はこっちのsshは普段繋がない.必要なときだけ繋げばよい.


↓アフィカスリンク

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識

ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識