オンライン講習会の手引き「MPI基礎：並列プログラミング入門」
東京大学情報基盤センター
2020年4月
質問は三木まで：ymiki(at)cc.u-tokyo.ac.jp

2

はじめに
• 東京大学情報基盤センター（以下，本センター）では2020年4月30日に第132回お試しアカウント付き並列プログラミング
講習会「MPI基礎：並列プログラミング入門」を開催します。
– 本講習会では，Oakforest-PACSシステムを利用した実習を実施します。
– 本講習会は，Zoomを用いたオンライン講習会として実施予定です。

• 本資料は，オンライン講習会受講のための事前準備について記載します。
– 本講習会においては，Oakforest-PACSシステムへログインできるよ
うになっていることを前提とします。

3「MPI基礎：並列プログラミング入門」概略• https://www.cc.u-tokyo.ac.jp/events/lectures/132/• 開催日：
2020年 4月30日（木） 10：00 - 17：00• 形態：Zoomによるオンライン講習会• 講習会プログラム： 講師：三木– 10：00 - 11：20 テストプログラムの実行など（演習）– 11：30 - 12：30 並列プログラミングの基本（座学）(12：30 - 14：00 昼休み)
– 14：00 - 15：00 MPIプログラム実習Ⅰ （演習）– 15：10 - 16：00 MPIプログラム実習Ⅱ（演習）– 16：10 - 17：00 MPIプログラム実習Ⅲ（演習）

4

お願い等

• ハンズオンのためのPC，Zoom及びスパコンへ接続するためのネットワーク環境は各受講者でご準備ください。
• PCは Windows/Microsoft Update，Apple Security Updateな
どで最新のセキュリティアップデートを行ってください。
• 必ずウィルス対策ソフトウェアをインストールし，ウィルス検索を実行して問題がないことを事前に確認してから受講してください。
– セキュリティ対策未実施の場合はオンライン講習会受講を認めません。

• OSは、Windows、Macどちらでも構いませんが、SSHを用いてセンターのスーパーコンピューターへ接続ができることが必要です（後述）。
• 演習の実施に当たり，受講生にセンターのスーパーコンピューターを1月間利用できる無料アカウント（お試しアカウント）を発
行します。

5

• PC上のソフトウェア類の準備• 東大情報基盤センターのスパコン• スパコンへのログイン• ログインしたら・・・

6

Cygwin: Windows上のUNIXライクな環境
https://www.cygwin.com/• 利用者ガイド– https://cygwin.com/cygwin-ug-net.html• まずやるべきこと– インストーラ（setup-x86_64/32.exe）を予め入手– インターネットに接続し，インストーラをダブルクリック– 以下指示に従ってインストールを進めてください

以下しばらくはCygwinの話

7

指示に従ってください
https://www.cygwin.com/

1

2

ダウンロード元のサイトを選択してください。
「jp」ドメインの方がよ
さそうです

3

4

8

まずはデフォルト機能のインストールからhttps://www.cygwin.com/• 基本的な機能はデフォルトのインストールでOKですが，本講習会で必要なものが抜けている可能性があります。
– 従ってマニュアルでインストールする必要があります– インストーラをダブルクリックすれば後で追加も可能です• 本講習会では下記が必須です（デフォルトのインストールでは抜けている可能性あり）– gcc-core (for C/C++ users)– gcc-fortran (for Fortran users)– openssh (for all users)– openssl (for all users)– make (for all users)– emacs, vim etc.

• インストールされているかどうかは確認が可能ですType “gcc-core”“gcc-core”の有無に関するチェック

9Type “gcc-core”“gcc-core”の有無に関するチェック“Keep”と出てきたら“gcc-core”はインストール済み

10

11

Type “g++”“g++”のインストール例 (1/4)“Skip” が現れたら「未インストール」を意味する

以下「g++」を例にマニュアルインストールの実施方法を紹介する

12“g++”のインストール例 (2/4)

プルダウンメニュー

13“g++”のインストール例 (3/4)

適切なバージョンを選択（通常は最新版）

14“g++”のインストール例 (4/4)

「Skip」のかわりにバージョン番号が出てきたら“g++” のインストール準備完了（インストールは完了していない）

ここをクリック15“gcc”：インストールの確認$ gcc -v
組み込み spec を使用しています。
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-cygwin/9.3.0/lto-wrapper.exe
ターゲット: x86_64-pc-cygwin
configure 設定: /cygdrive/i/szsz/tmpp/gcc/gcc-9.3.0-1.x86_64/src/gcc-9.3.0/configure -srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-9.3.0-1.x86_64/src/gcc-9.3.0 --prefix=/usr --exec-prefix=/usr -localstatedir=/var --sysconfdir=/etc --docdir=/usr/share/doc/gcc --htmldir=/usr/share/doc/gcc/html -C--build=x86_64-pc-cygwin --host=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix -without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static -enable-version-specific-runtime-libs --enable-bootstrap --enable-__cxa_atexit --with-dwarf2 --withtune=generic --enable-languages=c,c++,fortran,lto,objc,obj-c++ --enable-graphite --enablethreads=posix --enable-libatomic --enable-libgomp --enable-libquadmath --enable-libquadmath-support -disable-libssp --enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-clooginclude=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix --with-system-zlib -enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
スレッドモデル: posix
gcc バージョン 9.3.0 (GCC)16“gfortran” ：インストールの確認$ gfortran –v
組み込み spec を使用しています。
COLLECT_GCC=gfortran
ターゲット: x86_64-pc-cygwin
configure 設定: /cygdrive/i/szsz/tmpp/gcc/gcc-9.3.0-1.x86_64/src/gcc-9.3.0/confi
gure --srcdir=/cygdrive/i/szsz/tmpp/gcc/gcc-9.3.0-1.x86_64/src/gcc-9.3.0 --prefi
x=/usr --exec-prefix=/usr --localstatedir=/var --sysconfdir=/etc --docdir=/usr/s
hare/doc/gcc --htmldir=/usr/share/doc/gcc/html -C --build=x86_64-pc-cygwin --hos
t=x86_64-pc-cygwin --target=x86_64-pc-cygwin --without-libiconv-prefix --without-libintl-prefix --libexecdir=/usr/lib --enable-shared --enable-shared-libgcc --enable-static --enable-version-specific-runtime-libs --enable-bootstrap --enable__cxa_atexit --with-dwarf2 --with-tune=generic --enable-languages=c,c++,fortran,
lto,objc,obj-c++ --enable-graphite --enable-threads=posix --enable-libatomic --enable-libgomp --enable-libquadmath --enable-libquadmath-support --disable-libssp--enable-libada --disable-symvers --with-gnu-ld --with-gnu-as --with-cloog-incl
ude=/usr/include/cloog-isl --without-libiconv-prefix --without-libintl-prefix -with-system-zlib --enable-linker-build-id --with-default-libstdcxx-abi=gcc4-compatible --enable-libstdcxx-filesystem-ts
スレッドモデル: posix
gcc バージョン 9.3.0 (GCC)17“ssh-keygen (OpenSSH)” ：インストールの確認$ ssh-keygen --hssh-keygen: unknown option -- usage: ssh-keygen [-q] [-b bits] [-C comment] [-f output_keyfile] [-m format][-t dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk | rsa][-N new_passphrase] [-O option] [-w provider]ssh-keygen -p [-f keyfile] [-m format] [-N new_passphrase][-P old_passphrase]ssh-keygen -i [-f input_keyfile] [-m key_format]
ssh-keygen -e [-f input_keyfile] [-m key_format]
ssh-keygen -y [-f input_keyfile](…)
ssh-keygen -L [-f input_keyfile]ssh-keygen -A [-f prefix_path]ssh-keygen -k -f krl_file [-u] [-s ca_public] [-z version_number]file ...
ssh-keygen -Q -f krl_file file ...
ssh-keygen -Y find-principals -s signature_file -f allowed_signers_file
ssh-keygen -Y check-novalidate -n namespace -s signature_file
ssh-keygen -Y sign -f key_file -n namespace file ...
ssh-keygen -Y verify -f allowed_signers_file -I signer_identity-n namespace -s signature_file [-r revocation_file]18“ssh (OpenSSH)” ：インストールの確認$ sshusage: ssh [-46AaCfGgKkMNnqsTtVvXxYy] [-B bind_interface][-b bind_address] [-c cipher_spec] [-D [bind_address:]port][-E log_file] [-e escape_char] [-F configfile] [-I pkcs11][-i identity_file] [-J [user@]host[:port]] [-L address][-l login_name] [-m mac_spec] [-O ctl_cmd] [-o option] [-p port][-Q query_option] [-R address] [-S ctl_path] [-W host:port][-w local_tun[:remote_tun]] destination [command]

“make, emacs, vi etc” ：インストールの確認$ make –version
GNU Make 4.3
このプログラムは x86_64-pc-cygwin 用にビルドされました
Copyright (C) 1988-2020 Free Software Foundation, Inc.
ライセンス GPLv3+: GNU GPL バージョン 3 以降 <http://gnu.org/licenses/gpl.html>
これはフリーソフトウェアです: 自由に変更および配布できます.
法律の許す限り、 無保証 です.

$ emacs –version
GNU Emacs 26.3
Copyright (C) 2019 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

$ vi -version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Mar 30 2020 21:54:08)
Garbage after option argument: "-version"More info with: "vim -h"

19

20

その他
• Cygwinのインストールには60-90分程度を要します• 週末中にインストールしておくことをお勧めいたします。
• Windows 10以降であればCygwinの替わりにWSL（Windows
Subsystem for Linux）を使うことも考えられます。
– Windows，Linuxに詳しい方はお試し頂いても結構です，がC，Fortran，OpenSSH等の機能のインストールをご確認ください21• PC上のソフトウェア類の準備• 東大情報基盤センターのスパコン• スパコンへのログイン• ログインしたら・・・22

3システム：利用者2,600+，学外55+%• Reedbush (HPE, Intel BDW + NVIDIA P100 (Pascal))– データ解析・シミュレーション融合スーパーコンピュータ– 3.36 PF, 2016年7月〜 2021年3月末（予定）• Reedbush-U（CPU only），Reedbush-H（2GPU’s/n），Reedbush-L（4GPU’s）– 東大ITC初GPUクラスタ (2017年3月より), DDN IME (Burst
Buffer)• Oakforest-PACS (OFP) (富士通, Intel Xeon Phi (KNL))– JCAHPC (筑波大CCS＆東大ITC)– 25 PF, TOP500で15位（日本2位）（2019年11月）– Omni-Path アーキテクチャ, DDN IME (Burst Buffer)• Oakbridge-CX (富士通, Intel Xeon Platinum 8280)– 大規模超並列スーパーコンピュータシステム– 6.61 PF, 2019年7月 〜 2023年6月，TOP500で50位（2019年
11月）– 全1,368ノードの内128ノードにSSDを搭載

23

GFLOPS当たり利用負担（円）：電気代，GFLOPS/W（Green 500）
System

JPY/GFLOPS
Small is GoodGFLOPS/W
Large is Good

Oakleaf-FX/Oakbridge-FX (Fujitsu)(Fujitsu SPARC64 IXfx)

125

0.8663

Reedbush-U (HPE)(Intel BDW)

61.9

2.310

Reedbush-H (HPE)(Intel BDW+NVIDIA P100x2/node)

15.9

8.575

Reedbush-L (HPE)(Intel BDW+NVIDIA P100x4/node)

13.4

10.167

Oakforest-PACS (Fujitsu)(Intel Xeon Phi/Knights Landing)

16.5

4.986

Oakbridge-CX (Fujitsu)(Intel Cascade Lake (CLX))

20.7

5.076

24

研究分野別利用CPU時間割合（2019年度）
社会科学
経済学
情報科学：
アルゴリズム.
工学・
ものづくり
材料科学

地球科学・
宇宙科学

マルチコアクラスタ
Intel BDW Only
(Reedbush-U)

Engineering
Earth/Space
Material
工学・
Energy/Physics
バイオインフォマ
ものづくり
ティクス・医療画像
Sci. : System
Info.
処理・ゲノム解析
Sci. : Algrorithms 材料科学
Info.
Info. Sci. : AI
生物科学
エネルギー・
Education
生体力学
物理学
Industry
Bio
情報科学：AI
Bioinformatics
Social Sci. & Economics
Data
GPUクラスタIntel BDW + NVIDIA P100
(Reedbush-H)

Engineering
工学・ものつくり
Earth/Space
地球科学・宇宙科学
Material
材料科学
Energy/Physics
エネルギー・物理学
Sci. : System
Info.
情報科学：システム
Sci. : Algrorithms
Info.
情報科学：アルゴリズム
Sci. : AI
Info.
情報科学：AI
Education
教育
Industry
産業利用
Bio
生物科学・生体力学
Bioinformatics
バイオインフォマティクス
Sci. & Economics
Social社会科学・経済学
Data
データ科学・データ同化

25

研究分野別利用CPU時間割合（2019年度）
OBCXは2019年10月～2020年3月（6ヶ月）
データ科学

バイオインフォマ
ティクス・ゲノム解析
生物科学
生体力学

地球科学・
宇宙科学

エネルギー・
物理学

材料科学

メニィコアクラスタ
Intel Xeon Phi(Oakforest-PACS)

Engineering
Earth/Space
バイオインフォマ
Material
ティクス・ゲノム解析
Energy/Physics 工学・
ものづくり
Info.
Sci.
:
System生物科学
生体力学
Info. Sci. : Algrorithms
地球科学・
Info. Sci. : AI
宇宙科学
エネルギー・
Education
物理学
Industry
材料科学
Bio
Bioinformatics
Social Sci. & Economics
Data
マルチコアクラスタ

Intel CLX
(Oakbridge-CX)

工学・ものつくりEngineering
地球科学・宇宙科学
Earth/Space
材料科学
Material
エネルギー・物理学
Energy/Physics
情報科学：システム
Info.
Sci. : System
情報科学：アルゴリズム
Info.
Sci. : Algrorithms
情報科学：AI
Info.
Sci. : AI
教育
Education
産業利用
Industry
Bio
生物科学・生体力学
Bioinformatics
バイオインフォマティクス
SocialSci. & Economics
社会科学・経済学
Data
データ科学・データ同化

26• PC上のソフトウェア類の準備• 東大情報基盤センターのスパコン• スパコンへのログイン• ログインしたら・・・27

スパコンへのログイン• SSH公開鍵認証（SSH Public Key Authentication,
SSH=Secure Shell）に基づく– パスワード認証よりも安全，と言われている• 手順– Windows：Cygwinを立ち上げる，Mac・Unix：Terminal起動– ①PC上で鍵（秘密鍵，公開鍵）を生成する• 秘密鍵，公開鍵• パスフレーズ（Passphrase）：鍵認証のためのパスワード– ②スパコンポータルサイトにログインする• センターから供給された利用者ＩＤ（t00XYZ）と「初期パスワード」を使用• ポータルサイトにログイン後，パスワード（Password）変更を求められる，字数，
使用文字等に色々規則があるので注意すること– ③スパコンポータルサイトに「公開鍵」を登録する– ④ＰＣからsshによってスパコンにログインする28①PC上で鍵（秘密鍵，公開鍵）を生成（1/3）$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa): Return
Enter passphrase (empty for no passphrase): Your Favorite Passphrase Return
Enter same passphrase again: Same Passphrase
ReturnYour identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:vt88O+PTcscHkOyabvxGjeRsMWLAWds+ENsDcReNwKo nakajima@KNs-NEW-VAIO
The key's randomart image is:+---[RSA 2048]----+|. o=oo.o+ ||+ O... .|操作手順|.+o+. ||
+oB. |• ssh-keygen –t rsa <Return>|
So *o* |• <Return>|.E B.o ||.. = . o |• お好きなPassphrase <Return>|.=oB o +|• 同じPassphrase <Return>|.+o+*O ..|+----[SHA256]-----+

29①PC上で鍵（秘密鍵，公開鍵）を確認（2/3）$ cd .ssh$ ls

id_rsaid_rsa.pub⇒秘密鍵（Private Key）
⇒公開鍵（Public Key）

$ cat id_rsa.pub

ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDa6InmOYYaCrWjQDukjiNEfdW8veUwJyZtEI3oDu0A28
eey6p0wbtI7JB09xnI17O7HG4yYvOM81+/nlAHy5tAfJly0dsPzjTgdTBLdgi3cSf5pWEY6U96
yaEr0Ei8Wge1HkXrhcwUjGDVTzvT0Refe6zLdRziL/KNmmesSQfR5lsZ/ihsjMgFxGaKsHHq/I
ErCtHIIIf9V/Ds2yj6vkAaWH6asBn+ZsRiRFvwHPhkYAnp/j3LY6b8Qfqg0p4WZRenh/HgySWTYIGi8x67VzMaUlm9qlK0QFMCaK2rivX1fmbwyWJ/vrWDqiek6YXoxLDu+GPeQ4CPvxJcZnqF9g
f3 nakajima@KNs-NEW-VAIO

30①公開鍵をコピー（3/3）$ cd .ssh

操作手順
$ ls
• cat id_rsa.pub <Return>
id_rsa• “ssh-rsa”にカーソルを合わせ
id_rsa.pub• 最後の行の”f3”までを選択して「Copy」によって記憶$ cat id_rsa.pub • 最後の「nakaima@KNs-NEW-VAIO」まで含んでも良いが，ここに漢字が含まれていると登録に失敗する
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDa6InmOYYaCrWjQDukjiNEfdW8veUwJyZtEI3oDu0A28
eey6p0wbtI7JB09xnI17O7HG4yYvOM81+/nlAHy5tAfJly0dsPzjTgdTBLdgi3cSf5pWEY6U96
yaEr0Ei8Wge1HkXrhcwUjGDVTzvT0Refe6zLdRziL/KNmmesSQfR5lsZ/ihsjMgFxGaKsHHq/I
ErCtHIIIf9V/Ds2yj6vkAaWH6asBn+ZsRiRFvwHPhkYAnp/j3LY6b8Qfqg0p4WZRenh/HgySWTYIGi8x67VzMaUlm9qlK0QFMCaK2rivX1fmbwyWJ/vrWDqiek6YXoxLDu+GPeQ4CPvxJcZnqF9g
f3 nakajima@KNs-NEW-VAIO

②スパコンポータルサイトにログイン（1/3）
情報基盤センターから送付されたファイル

t00XYZ

01234567

情報基盤センターから送付された利用者
ID（t00XYZ）

情報基盤センターから送付された初期パスワード（8桁）

31

各システム情報・利用支援ポータルサイト• Reedbush 日本語– https://www.cc.u-tokyo.ac.jp/supercomputer/reedbush/service/– https://reedbush-www.cc.u-tokyo.ac.jp/• Reedbush English– https://www.cc.u-tokyo.ac.jp/en/supercomputer/reedbush/service/– https://reedbush-www.cc.u-tokyo.ac.jp/• Oakforest-PACS（OFP）日本語– https://www.cc.u-tokyo.ac.jp/supercomputer/ofp/service/– https://ofp-www.jcahpc.jp/cgi-bin/hpcportal.ja/index.cgi• Oakforest-PACS（OFP）English– https://www.cc.u-tokyo.ac.jp/en/supercomputer/ofp/service/– https://ofp-www.jcahpc.jp/cgi-bin/hpcportal.en/index.cgi• Oakbridge-CX（OBCX）English– https://www.cc.u-tokyo.ac.jp/supercomputer/obcx/service/– https://obcx-www.cc.u-tokyo.ac.jp/cgi-bin/hpcportal.ja/index.cgi• Oakbridge-CX（OBCX） English– https://www.cc.u-tokyo.ac.jp/en/supercomputer/obcx/service/– https://obcx-www.cc.u-tokyo.ac.jp/cgi-bin/hpcportal.en/index.cgi

32

33

②スパコンポータルサイトにログイン（2/3）
https://ofp-www.jcahpc.jp/cgi-bin/hpcportal.ja/index.cgi

情報基盤センターから送付された利用者
ID（t00XYZ）

情報基盤センターから送付された初期パ
スワード

34

②初期パスワードの変更（3/3）

情報基盤センターから送付された初期パスワード

パスワード規約• 8文字以上，現在と3文字以上異なる• 2世代前までと異なる• 英字（小文字，大文字），数字，特殊文
字各1字以上• Linux辞書に登録されている語は不可• 全角文字不可

変更後のパスワードを入力（2回）

35③ 公開鍵登録（id_rsa.pub）

1. 「SSH公開鍵登録」を選択
2. 先ほどCopyした「id_rsa.pub」を貼り付ける
3. 「登録」をクリック

36④PCからログイン（1/2）$ ssh t00XYZ@ofp.jcahpc.jp
Enter passphrase for key '/home/user/.ssh/id_rsa:

Your Passphrase

1. ssh t00XYZ@ofp.jcahpc.jp <Return>2. 鍵生成時に打ち込んだPassphrase <Return>

Return④PCからログイン（2/2）
Last login: Thu Apr 16 20:30:22 2020 from 133.11.59.131-------------------------------------------------------------------------------Oakforest-PACS Information
Date: Apr. 03, 2020-------------------------------------------------------------------------------Welcome to Oakforest-PACS system* Operation Schedule
04/03(Fri) 17:00 - 04/23(Thu) 09:00
04/23(Thu) 09:00 - 04/24(Fri) 09:00
04/24(Fri) 09:00 - 04/24(Fri) 22:00
04/24(Fri) 22:00 -Normal Operation
HPC Challenge
System Maintenance
Normal Operation

ログインに成功したら，今後のメインテ
ナンスのスケジュールなどが表示される

For more information about this service, see
https://www.cc.u-tokyo.ac.jp/supercomputer/schedule.php* How to use
Users Guide can be found at the User Portal (https://ofp-www.jcahpc.jp/).
If you have any questions, please refer to the following URL and contact us:
https://www.cc.u-tokyo.ac.jp/supports/contact/[t00XYZ@ofp01 ~]$

37

38

SSH公開鍵認証の手順（1/4）①PC上での秘密鍵・公開鍵作成$> ssh-keygen –t rsa

OBCX

id_rsa
秘密鍵/Private Key+ Passphrase

id_rsa.pub
公開鍵/Public Key

OFP

39

+ Password

id_rsa
秘密鍵/Private Key+ Passphrase

id_rsa.pub
公開鍵/Public Key

tABCCC+ Password

Portal SiteOBCX

tXYZZZOBCX

Portal Site
OFP

SSH公開鍵認証の手順（2/4）②スパコンポータルサイトへのログイン

OFP

40

SSH公開鍵認証の手順（3/4）③公開鍵（id_rsa.pub）の登録
公開鍵/Public Key

id_rsa.pub
id_rsa
秘密鍵/Private Key+ Passphrase

公開鍵/Public Key

Portal Site
OBCX

id_rsa.pub

OBCX

Portal Site
OFP

同じ公開鍵を複数のスパコンに登録可能

OFP

41

SSH公開鍵認証の手順（3/4）③公開鍵（id_rsa.pub）の登録

id_rsa
秘密鍵/Private Key+ Passphrase

Portal Site
OFP

Portal Site
OBCX

同じ公開鍵を複数のスパコンに登録可能
id_rsa.pub
公開鍵/Public Key

OBCX
id_rsa.pub
公開鍵/Public Key

OFP

42

SSH公開鍵認証の手順（4/4）④PCからスパコンへのログイン
秘密鍵（id_rsa）＋Passphrase$> ssh tXYZZZ@obcx.cc.u-tokyo.ac.jp

id_rsa.pub
公開鍵/Public Key

id_rsa
秘密鍵/Private Key

OBCX+ Passphrase$> ssh tABCCC@ofp.jcahpc.jp

id_rsa.pub
公開鍵/Public Key

id_rsa
秘密鍵/Private Key+ Passphrase

OFP

43

SSH Public Key Authentication
SSH公開鍵認証• id_rsa

SSH= Secure Shell– Private Key（秘密鍵） ：PC上
– 文字通り「秘密」にしておくこと• 他の人に送ってはいけない• 基本的には作成した場所からコピーしたり移動することもしないこと• id_rsa.pub– Public Key（公開鍵）：スパコン上– コピー可能，他の人にe-mailで送ることも可能• もし複数のPCからスパコンにログインする場合は，各PCごとに「公開鍵・秘密鍵」のペアをssh-keygenによって作成– 各スパコンに複数の公開鍵を登録することは可能– スパコン上の公開鍵のうちの一つがPC上の「秘密鍵＋Passphrase」とマッチすると確認されるとログインできる

44

SSH公開鍵認証の手順（4/4）④PCからスパコンへのログイン
秘密鍵（id_rsa）＋Passphrase
id_rsaid_rsa.pub

秘密鍵/Private Key

公開鍵/Public Key+ Passphrase

OBCX
id_rsa
秘密鍵/Private Key

id_rsa.pub
公開鍵/Public Key+ Passphrase

OFP

45

id_rsaid_rsa

秘密鍵/Private Key

秘密鍵/Private Key+ Passphrase+ Passphrase

id_rsa.pub

id_rsa.pub

公開鍵/Public Key

公開鍵/Public Key

Portal Site
OFP$> ssh-keygen –t rsa

Portal Site
OBCX

複数のPCからスパコンへログインする場合には各PCで「公開鍵・秘密鍵」のペア作成
id_rsa.pub
公開鍵/Public Key

OBCX
id_rsa.pub
公開鍵/Public Key

OFP

46

スパコンには複数の公開鍵を登録できる

スパコンには複数の公開鍵を登録できる

47$ cd .ssh$ ls authorized_keys .ssh/authorized_keysには登録された公開鍵が格納されている。このファイルの後ろに新たな公開鍵（new_public.key）を付
authorized_keys
け加えることができる。
$ cat authorized_keys
ssh-rsa
HGCAB3NzaC1yc2EAAAABIwAAAQEA1r0Hr8M1JIJBO2n9S0GQm0xzGCwh3PpcJo7Z8oDr6HCAXhbK
zHA0ibRMJFCwDJCRGNJlYiHEYHWzouuXGNa9teso7aXYkq2PxbO76C60ZCPoLqf/jQRqnUSnjHJ4
UgmDdlQWaAks+q/2ExOwjBB6GZmaHGijTximOFGiM1DI78OHkHC8pFzjvP2kT9yRvykvOVvlG10V
Yi+5CawYfuROiRBjfUS47RSOlCzjNP20pYO57DUCfOv+/8B1+l1wilbjKQHjuNp5XuclFfFdGaxf
JchD/sB5sRxtYfz80xzwGmN8pVecpUjd//xAqdYYHmLAKUE2oH8MnBIRybpWGVie6w64
ssh-rsa
AAAAB3NzaC1yc2EAAAADAQABAAABAQDa6InmOYYaCrWjQDukjiNEfdW8veUwJyZtEI3oDu0A28ee
y6p0wbtI7JB09xnI17O7HG4yYvOM81+/nlAHy5tAfJly0dsPzjTgdTBLdgi3cSf5pWEY6U96yaEr
0Ei8Wge1HkXrhcwUjGDVTzvT0Refe6zLdRziL/KNmmesSQfR5lsZ/ihsjMgFxGaKsHHq/IErCtHI
IIf9V/Ds2yj6vkAaWH6asBn+ZsRiRFvwHPhkYAnp/j3LY6b8Qfqg0p4WZRenh/HgySWTYIGi8x67
VzMaUlm9qlK0QFMCaK2rivX1fmbwyWJ/vrWDqiek6YXoxLDu+GPeQ4CPvxJcZnqF9gf3$ cp authorized_keys tmp$ cat tmp new_public.key > authorized_keys

48

id_rsaid_rsa

秘密鍵/Private Key

秘密鍵/Private Key+ Passphrase+ Passphrase

id_rsa.pub

id_rsa.pub

公開鍵/Public Key

公開鍵/Public Key

Portal Site
OFP$> ssh-keygen –t rsa

Portal Site
OBCX

各スパコンに複数の鍵を登録する
id_rsa.pub
公開鍵/Public Key

id_rsa.pub
公開鍵/Public Key

id_rsa.pub
公開鍵/Public Key

id_rsa.pub
公開鍵/Public Key

49• PC上のソフトウェア類の準備• 東大情報基盤センターのスパコン• スパコンへのログイン• ログインしたら・・・

50

PCからログイン$ ssh t00XYZ@ofp.jcahpc.jp
Enter passphrase for key '/home/user/.ssh/id_rsa:

Your Passphrase

1. ssh t00XYZ@ofp.jcahpc.jp <Return>2. 鍵生成時に打ち込んだPassphrase <Return>

Return51

ログインしたら$ pwd/home/t00XYZ$ cd /work/gt00/t00XYZ$ pwd/work/gt00/t00XYZ
$ cd
$ pwd

/home/t00XYZ

1. ログインしたら「/home/t00XYZ」に入る
2. /homeは容量が少ないので「/work/gt00/t00XYZ」に移動すること
3. 「cd」でホームに戻れます52
52

Copy：PC to OFP$ scp ./a.dat t00XYZ@ofp.jcahpc.jp:
PC上のCurrent Directoryにある「a.dat」をOFPのホームディレクトリ（/home/t00XYZ）の下にコピーする$ scp ./a.dat t00XYZ@ofp.jcahpc.jp:/work/gt00/t00XYZ/test/
PC上のCurrent Directoryにある「a.dat」をOFP上のディレクトリ「/work/gt00/t00XYZ/test」の下にコピーする$ scp -r ./testL t00XYZ@ofp.jcahpc.jp:
PC上のCurrent Directory下にあるディレクトリ「testL」及びその中身をOFPのホー
ムディレクトリ（/home/t00XYZ）の下にコピーする$ scp -r ./testL t00XYZ@ofp.jcahpc.jp:/work/gt00/t00XYZ/test
PC上のCurrent Directory下にあるディレクトリ「testL」及びその中身をOFP上のディレクトリ「/work/gt00/t00XYZ/test」の下にコピーする

53

53

Copy：OFP to PC$ scp t00XYZ@ofp.jcahpc.jp:~/a.dat ./OFPのホームディレクトリ（/home/t00XYZ）下にある「a.dat」を，PC上のCurrent
Directory下にコピーする$ scp t00XYZ@ofp.jcahpc.jp:/work/gt00/t00XYZ/test/a.dat ./OFP上のディレクトリ「/work/gt00/t00XYZ/test/」下にある「a.dat」をPC上のCurrent Directory下にあるディレクトリ「L1」にコピーする$ scp -r t00XYZ@ofp.jcahpc.jp:~/L1 ./OFPのホームディレクトリ（/home/t00XYZ）下にあるディレクトリ「/home/t00XYZ/L1」とその中身を，PC上のCurrent Directory下にあるディレクトリ
「L1」にコピーする$ scp -r t00XYZ@ofp.jcahpc.jp:/work/gt00/t00XYZ/test/L1 ./OFP上のディレクトリ「/work/gt00/t00XYZ/test/L1」とその中身をPC上のCurrent
Directory下にあるディレクトリ「L1」にコピーする

54

ポータルサイトでのマニュアル等閲覧（1/2）

55

ポータルサイトでのマニュアル等閲覧（2/2）