補遺:EIC接続の踏み台設定
ac.jp
か go.jp
で,かつDNSの逆引きに対応していないと接続ができません.そのような場合に,EICに接続できる別のサーバを踏み台にして接続する方法を紹介します.ここでは東京大学情報基盤センターのスパコン(Wisteria/BDEC-01)を踏み台にすることを前提に説明しますが,接続元の組織内の特定のIPアドレスのマシンからのみ接続ができるような場合にもほとんど同じ設定方法が利用できます.
手動による二段階接続
まずはWisteria/BDECに接続します.
ssh -Y wisteria.cc.u-tokyo.ac.jp -l USERNAME-of-BDEC
さらにそこから
ssh -Y eic.eri.u-tokyo.ac.jp -l USERNAME-of-EIC
とすれば,EICに接続できます.
しかし,毎回二段階でログインするのはとても面倒です. rsync
などを使ってファイルを転送する際にも,いちいち踏み台サーバにファイルを置いてからEICに転送することとなり,非効率です.
SSH configによる自動二段階接続
ここでは,踏み台サーバ(この場合はWisteria/BDEC)への接続が公開鍵認証方式であることと,その公開鍵はEICへの接続の公開鍵と同一のものを使っていることを仮定します.
SSHでは, ~/.ssh/config
というファイルを作成し,その中に接続情報を記述することで,ssh
コマンドが接続時にその情報を参照できます. まずは,Wisteria/BDECへの接続を単純化してみましょう.
接続元マシンで,config
ファイルを開きます(なければ作成します).
cd ~/.ssh
code config
ここではVSCodeのシェルコマンド code
がインストールされている前提で例を書いていますが,使うエディタは何でも構いません.ただし,.ssh
はドット記号から始まる隠しディレクトリですので,エクスプローラ(Windows)やFinder (macOS) からは見えません.ターミナルで ls -a
すると見えるはずです.
config
ファイルに以下の内容を記述します.ただし,USERNAME-of-BDEC
は自身のWisteria/BDECユーザー名です. IdentifyFile
の行では接続に用いる秘密鍵を指定します.
Host bdec
HostName wisteria.cc.u-tokyo.ac.jp
User USERNAME-of-BDEC
IdentityFile ~/.ssh/id_rsa
ForwardX11 yes
この準備をすると,ターミナルから
ssh bdec
とするだけで,wisteria.cc.u-tokyo.ac.jp
に接続できます.
さらに,EICへの接続設定も config
ファイルに追記しましょう.
Host eic
Hostname eic.eri.u-tokyo.ac.jp
User USERNAME-of-EIC
ProxyCommand ssh -W %h:%p bdec
IdentityFile ~/.ssh/id_rsa
ForwardX11 yes
Wisteria/BDECとほとんど同様ですが,ProxyCommand
の行が増えています.これにより,ssh eic
とするだけで,Wisteria/BDECを踏み台にしてEICに接続できます.
VSCodeでSSH拡張を利用している場合は,この設定ファイルが自動的に読み込まれます. これ以降は,VSCodeからも eic
を選択して接続できます.