SSH の ProxyCommand として利用すると、sol/CED/IED などの学内サーバーに簡単に接続できます。 使用には、あらかじめ公開鍵認証の設定が必要です。
実行ファイルをダウンロードして、適当な場所に配置してください。 OSやウイルス対策ソフトウェアセキュリティ機能によって実行がブロックされる場合は、ご利用のソフトウェアのサポートページ等をご確認いただくか、ご自身の環境でのコンパイルをお試しください。
SSH の設定ファイル(Windows: %USERPROFILE%\.ssh\config(C:\Users\ユーザー\.ssh\config), macOS/Linux: ~/.ssh/config)に以下のように設定を追加してください。
Host uec-*
User あなたのUECアカウント
ProxyCommand 実行ファイル(uec-ssh-proxy)の配置先パス -host %h -user %r -port %p
認証鍵の設定やホスト名の指定など、詳細な設定は「SSH の設定例」もご覧ください。
実行ファイル(uec-ssh-proxy)を単体で実行することはできず、sshコマンドと組み合わせて利用します。
例えば、「インストール」セクションの設定例のとおりに設定が行われている場合は以下のように接続できます。
ssh uec-sol
ssh uec-ced
ssh uec-iedVPN が必要な CED や IED の環境であっても、VPN なしで接続することができます。
ご自身の環境に合わせて、適宜組み合わせて設定を行ってください。
# Windows
Host uec-*
User z2000000
ProxyCommand C:/Users/username/.ssh/uec-ssh-proxy.exe -host %h -user %r -port %p
# macOS/Linux
Host uec-*
User z2000000
ProxyCommand ~/.ssh/uec-ssh-proxy -host %h -user %r -port %p
Host uec-sol uec-ced uec-ied
User あなたのUECアカウント
ProxyCommand /path/to/uec-ssh-proxy -host %h -user %r -port %p
uec-sol, uec-ced, uec-iedを明示的に設定することで、VSCode の Remote SSH 拡張機能などで接続先を選択しやすくなります。
id_rsaやid_ed25519などのデフォルトのファイル名の認証鍵ではなく、uec_rsa_key等のカスタムの認証鍵を使用する場合は、SSH の設定ファイルに以下のように追加してください。
Host uec-* ssh.cc.uec.ac.jp
User あなたのUECアカウント
IdentityFile ~/.ssh/id_ed25519_custom
ProxyCommand /path/to/uec-ssh-proxy -host %h -user %r -port %p
特に、ホスト ssh.cc.uec.ac.jp に対して鍵の指定がない場合にはすべての接続に失敗します。
Host *-uec
User あなたのUECアカウント
ProxyCommand /path/to/uec-ssh-proxy -host %h -user %r -port %p
Hostのパターンを変更することで、ホスト名の接続先を変更できます。例えば、*-uecとすることで、sol-uec, ced-uec, ied-uecなどのホスト名に対応できます。
以下のように特定のパターンを含まずにホスト名を明示的に指定することもできます。
Host sol ied ced
User あなたのUECアカウント
ProxyCommand /path/to/uec-ssh-proxy -host %h -user %r -port %p
ssh コマンドに指定したホスト名に以下の文字列が含まれ、かつuec.ac.jpで終わるドメインではない場合は、接続先を以下の通りに変更します。
sol→sol.edu.cc.uec.ac.jpced→orange[01-30].ced.edu.cc.uec.ac.jpied→[ab][11-78].ied.inf.uec.ac.jpssh→ssh.cc.uec.ac.jp
CED に接続する場合は、CED Monitor の表示に応じて利用可能でユーザーが最も少ない端末に接続します。 IED に接続する場合は、すでに起動している利用可能な端末に優先して接続し、 起動中の端末がすべて利用中である場合には停止中の端末を起動してから接続します。
Go言語の開発環境が必要です。
$ go mod download
$ go buildProxyCommandでコマンドを指定するときに、-verboseオプションをつけるとログを詳細に表示します。