Windows 11 からスパコンにアクセスして作業するための環境整備の備忘録です.九州大学スパコン(GENKAI)と,東京大学スパコン MIYABI を例とします.また,GitHubへの接続はWSLのUbuntuでも同様です.Windowsから MobaXterm を用いてスパコンにアクセスできることを前提とします.GENKAIへのアクセス方法はこちらを参照ください.MIYABIへのアクセス方法はポータルの中のドキュメント閲覧の Users_Guide_ja_v1.6.pdf といったガイドに記載があります(公開情報にはないようです).
スパコンへのアクセスでは WLS Ubuntu で作成した鍵ペアが使えます.私の環境ではMobaXterm で WSL Ubuntu の session を用意し,Ubuntuで鍵ペアを作成し,スパコンのポータルで公開鍵を登録しました.WinSCPの認証画面では秘密鍵を指定しました.
注意: GENKAI(多分,MIYABIも)の~/.ssh/のpermissionは 700 (drwx------) でないと,後のVScodeのSSH接続でpermission deniedのエラーになります.デフォルトから要変更です.
chmod 700 .ssh
Tips: 以下の設定を有効にして,MobaXtermを複数起動(複数インスタンス)できるようにすると便利です.
Settings -> Configuration -> Misc -> ☑ Allow multiple instances of MobaXterm
SSH接続(VScodeとssh port forwardingで必要)
Windows command promptを開き,C:\Users\<username>\.ssh\ においてssh-keygenで秘密鍵と公開鍵のペアを作成します.これはMobaXtermで作成したppk形式の鍵とは別で,VScodeで必要になります.公開鍵はスパコンに登録します.
ssh-keygen
デフォルトのファイル名で作成します(Enterを押すだけです).2025年2月25日に作成したところ,番号付きのファイル名に変わっていました.昔のid_rsaのファイル名に変更して作成し,登録しても接続できませんでした.OpenSSHのデフォルトの鍵形式が変更されたようです.
VScodeで必要になるので,同じフォルダにファイル名 config で以下のような内容のファイル作成します.以下の VScode でさらに説明します.
Host GENKAI
HostName <スパコン接続url>
User <ユーザ名>
IdentityFile C:\Users\<username>\.ssh\<秘密鍵名>
次に,ssh port forwardingで必要になる(かもしれない),WSL2のUbuntuでもキーペアを作成します.Ubuntuのターミナルを開き,以下の通り作成します.鍵ファイルの保存先はEnterで指定すると,デフォルトでは~/.ssh/id_rsaに保存されます.次にパスフレーズを聞かれますので設定します.
cd ~/.ssh
ssh-keygen -t rsa -b 4096
作成された公開鍵 ~/.ssh/id_rsa.pub をスパコンのポータルで登録します.
VScode
Windows版のVScodeでスパコン上のファイルを編集できるようにします.VScodeの拡張機能に Remote Development をインストールします.こちらの記事が参考になります.
configの編集
既述の通り,C:\Users\<username>\.ssh\config を以下のように編集(追記)します.以下はGENKAIとMIYABIの両者に対応した例で,並べて記述します.
Host GENKAI
HostName <スパコン接続URL>
User <ユーザ名>
IdentityFile C:\Users\<username>\.ssh\<秘密鍵ファイル名>
Host MIYABI
HostName <スパコン接続URL>
User <ユーザ名>
IdentityFile C:\Users\<username>\.ssh\<秘密鍵ファイル名>
Host はスパコン名を任意に付けます.HostName はスパコンの接続アドレスです.User の <ユーザ名> はスパコンのユーザ名(アカウント名)です.IdentityFile の <秘密鍵ファイル名> はスパコンに登録した公開鍵に対応する秘密鍵のファイルパスです.
VScodeでスパコンに接続
Vscodeを起動し,左端の リモート エクスプローラー アイコンをクリックすると,GENKAI (MIYABI)が追加されているはずです.これにカーソルを合わせると,新しいウィンドウで接続...が現れます(現在の... が選択できるときはどちらか選択).それをクリックし,Linuxを選択し,ターミナルでyesと入力することでスパコンに接続が完了します.GENKAIではpassphraseの入力が,MIYABIではワンタイムパスワード(OTP)認証が必要です.
VScodeの必要な拡張機能については,スパコンへのインストールの指示が現れるので,それらをインストールしておきます.
GitHub
GitHubのアカウントを持っていることを前提とします.スパコンまたはWSL Ubuntuにログインし,~/.ssh/ に移動します(存在しない場合は作成します).秘密鍵と公開鍵を作成します.Enter file ... でEnterを押すとデフォルト名になります.Enter passphrase ... にはpassphraseを入力します.
なお,以前の公開鍵はGitHubに登録不可でした.上述の通り,OpenSSHのデフォルトの鍵形式が変更されたためのようで,以下のように作成しなおすと登録できました.
$ cd ~/.ssh
$ ssh-keygen
秘密鍵id_ed*****と公開鍵id_ed*****.pubが作成されます(*****は番号です.ただし,MIYABIではこの番号は付きませんでした).公開鍵をGitHubに登録します.GitHub右上のプルダウンボタンの Settings をクリックし,左メニューの SSH and GPG keys をクリックします.右上の New SSH key をクリックし,適当な名前を付け,公開鍵をコピペし,Add SSH key をクリックして登録します.
GitHubに接続できることを確認しましょう.
$ ssh -T git@github.com
Enter passphrase for key '/home/teem/.ssh/id_ed*****':
Hi <your-account>! You've successfully authenticated, but GitHub does not provide shell access.
初期設定を実行します.use.email と user.name にはそれぞれダブルクオーテーションで囲んだメールアドレスおよび名前を入力します.これで git clone ができるようになります.
$ git config --global user.email "you@example.com"
$ git config --global user.name "Your Name"
Permissionの注意
もし接続できない場合はPermissionが適切か確認しましょう.
~/.ssh ディレクトリのPermisionは 700 (drwx------)です.
秘密鍵ファイル(例: id_rsa)とauthorized_keys(存在する場合)は 600 (-rw-------)です.
