はじめに
本記事は東京大学情報基盤センターのスーパーコンピュータであるOakbridge-CXにVS codeでログインする方法を備忘録的な感じで紹介します.
注意点として,利用契約を結んでいないと本記事は特に参考にならないと思います(外部のサーバーにSSH接続する点では同じなので,参考程度に読んでください)
この記事の読者
- Oakbridge-CXが使える,もしくは使おうとしている方
- Visual Studio codeでSSH接続したい方
公式の講義資料の方法の問題点
東京大学情報基盤センターは親切に定期的に講義を行ったり,講義資料や映像を残してくれています.
公式Youtubeチャンネル
講義資料HPページ
まず,初心者の方だとログインの段階から躓くと思いますが,以下の資料を読めばWindows環境下であれば問題なく動くでしょう.
https://www.cc.u-tokyo.ac.jp/events/lectures/163/tut163_1st_putty.pdf
さて,ここで問題なのがPuttyというソフトを用いたSSH接続とWInSCPを用いたファイル管理になるのですが,数ヶ月利用し,通信がかなり短時間で切断されてしまうこと.エディタとターミナルが別で二つのソフトを同時に起動しなければならない煩わしさがあるように感じました.
また,vimやEmacsといったエディタの扱いやCLIの操作に慣れている人ならともかく,最近のIDEのような環境に慣れている人にとっては使いにくいと感じる人は少なくないでしょう.
また,MacOSだとそもそもPuttyやWinSCPをそもそも入れることはできません.
VS code
Micorosoft社が提供しているエディタであるVisual Studio Code(以降VS codeと呼称します)ですが,プラグインが豊富で自分が使いやすいようにカスタマイズすることがあります.(Atomなんかと似ています)
並列プログラミングを勉強しようとYoutubeチャンネルで講義を見ていたところVS codeでもログインが可能らしいということがわかりました.しかし,ログインには成功していますが,公式にやり方がちゃんと書いておらずどうすれば良いか試行錯誤した結果.うまくいったので後述にやり方を記載します.
下記のリンクから無料でインストールできますのでまずは入れてみましょう
Remote Developmentのインストール
VS codeを起動したら,左側に並んでいる拡張機能というアイコンを押し,検索機能でRemote Developmentと入力してプラグインをインストールします.
インストールしたらVS codeを再起動しましょう.
秘密鍵と公開鍵の作成
次にWindowsならコマンドプロンプト,MacOS(Linux)ならターミナルを開いて公開鍵と秘密鍵を作成しましょう.
$ ssh-keygen 鍵のファイル名
注意点
秘密鍵は自分以外の誰にも公開しないようにしましょう.
ユーザーディレクトリ下の隠しディレクトリ(.ssh)の中にid_rsa(秘密鍵) id_rsa.pub(公開鍵)が作成されます.
公開鍵の登録
利用支援ポータルサイトにログインし,SSH公開鍵登録のところから,先程作成した公開鍵(id_rsa.pub)をファイルアップロードで登録します.RSA公開鍵で問題ありません.
複数の鍵の登録ができますので,デスクトップ用とノートPC用の2つ鍵の登録をするといった使い方も可能です.
configの編集
ユーザーファイル下の隠しフォルダ(.ssh)内のconfigを編集します.
Host OBCX
HostName obcx.cc.u-tokyo.ac.jp
User Oakbridge-CXのログインID
IdentityFile 秘密鍵のパス
Host :接続時の名前(わかりやすい名前なら何でも良い)
Hostneme :obcx.cc.u-tokyo.ac.jp
User : スパコンのログインID
IdentityFile : 登録した公開鍵に対応する秘密鍵のパスを入力
VS codeからログイン
先程インストールしたRemote Developmentのアイコンが左側に追加されているはずなので,クリックし,左上のREMOTE EXPLORERをSSH Targetに変更します.
すると,先程入力したHostの名前が出ると思うので入力するとログインが可能です.
補足
ファイル->フォルダをワークスペースに追加
よく使う作業ディレクトリを保存できたりします.