「計算機利用ことはじめ」の版間の差分

提供: Eospedia
移動: 案内検索
(sshコマンドの基本書式は?)
(XフォーワードによるリモートGUIアプリの使用)
(同じ利用者による、間の1版が非表示)
行21: 行21:
 
== 前提 ==
 
== 前提 ==
 
* 研究室計算機のアカウントを持っていること。
 
* 研究室計算機のアカウントを持っていること。
* コンソール(ターミナル)アプリの使い方がわかっていて、Unix/Linuxの基本コマンドが(調べながらでも)使えること。
+
* コンソール(ターミナル)アプリの使い方がわかっていて、Unix/Linuxの基本コマンドが(調べながらでもいいから)使えること。
 
* ローカルPC(自分が手元で使うPCのこと)にXサーバーがインストールされていて、Xサーバーが起動していること。
 
* ローカルPC(自分が手元で使うPCのこと)にXサーバーがインストールされていて、Xサーバーが起動していること。
** Windowsであれば VcXsrv ( https://sourceforge.net/projects/vcxsrv/ )等。macOSは XQuartz ( https://www.xquartz.org ) 一択?
+
** Windowsであれば VcXsrv ( https://sourceforge.net/projects/vcxsrv/ )や MobaXterm ( https://mobaxterm.mobatek.net/ ) 等。
 +
** macOSは XQuartz ( https://www.xquartz.org ) 一択?
 
* 研究室ネットワークへ接続していること。
 
* 研究室ネットワークへ接続していること。
 
* ググって調べる心意気。
 
* ググって調べる心意気。
行53: 行54:
  
 
研究室のファイルサーバーに計算機一覧表が置いてあるので(マニュアル\サーバー関連\計算機一覧\computer_list_yasunaga-lab.xlsx)、それを参照すればよい。計算機一覧表にアクセスできない場合や、一覧表を見たとてどれを使えばいいのかよくわからない場合は、ネットワーク係に聞く。
 
研究室のファイルサーバーに計算機一覧表が置いてあるので(マニュアル\サーバー関連\計算機一覧\computer_list_yasunaga-lab.xlsx)、それを参照すればよい。計算機一覧表にアクセスできない場合や、一覧表を見たとてどれを使えばいいのかよくわからない場合は、ネットワーク係に聞く。
 +
 +
GPGPU計算をしないとわかっている場合は、GPUを使いたい人のためにも、高性能GPU(※)搭載の計算機利用は避けるのが望ましい。 ( ※ 2020年6月時点では GeForce GTX1080, GTX1080Ti, RTX2080, RTX2080Ti)
  
 
=== 利用するのに予約は必要ですか? ===
 
=== 利用するのに予約は必要ですか? ===
行62: 行65:
 
ssh tutorial@cs03
 
ssh tutorial@cs03
 
</pre>
 
</pre>
 +
※ (ドメイン名無しの)ホスト名でアクセスするためには、ローカルPCのネットワーク設定においてDNSサーバーとDNSサーチドメインが設定されている必要がある。DHCPを使っていればDHCPサーバーが勝手に設定値を振ってくれるはずなので、気にする必要はないはず。もしホスト名でのアクセスがうまく行かなければ、ネットワーク係へ連絡してください。
  
 
もしくは、cs03のIPアドレスは 192.168.4.83 なので、以下の様にしてもログインできる。
 
もしくは、cs03のIPアドレスは 192.168.4.83 なので、以下の様にしてもログインできる。
行68: 行72:
 
</pre>
 
</pre>
  
(ドメイン名無しの)ホスト名でアクセスするためには、ローカルPCのネットワーク設定においてDNSサーバーとDNSサーチドメインが設定されている必要がある。DHCPを使っていればDHCPサーバーが勝手に設定値を振ってくれるはずなので、気にする必要はないはず。もしホスト名でのアクセスがうまく行かなければ、ネットワーク係へ連絡してください。
+
初回ログインの場合は、以下のようなメッセージとプロンプトが表示される。
 +
<pre>
 +
The authenticity of host 'cs03 (192.168.4.83)' can't be established.
 +
ECDSA key fingerprint is SHA256:*****.
 +
Are you sure you want to continue connecting (yes/no)? yes
 +
Warning: Permanently added 'cs03,192.168.4.83' (ECDSA) to the list of known hosts.
 +
tutorial@cs03's password:
 +
</pre>
 +
"Are you sure you want to continue connecting (yes/no)?"の問いに対しては "yes" と入力すればよい。(もちろん、それが信頼できるサーバーであるとわかっている場合。)
 +
 
 +
passwordには、計算機管理者から通知された計算機アカウントのパスワードを入力すればよい。コピペも効く。
  
 
== XフォーワードによるリモートGUIアプリの使用 ==
 
== XフォーワードによるリモートGUIアプリの使用 ==
 +
まずはローカルPCでXサーバーを起動する。起動方法はどのXサーバーを使うかにより異なるので、適宜マニュアルやブログなどを探して頑張ってください。
 +
 +
信頼できる計算機を相手にXフォーワードをする場合は、以下の様にする。
 +
<pre>
 +
$ ssh -Y [ユーザー名]@[ホスト名]
 +
</pre>
 +
要は通常のsshコマンドに -Y オプションを追加しているだけ。
 +
 +
-Yの代わりに-Xでも行けると思うが、-Xはセキュリティを重視して制限がかかる場合があるようで、一部のアプリは阻害されるかもしれない。研究室計算機相手であれば-Yで問題ないだろう。

2020年6月27日 (土) 19:29時点における版

安永研究室特有の説明も含みますので、研究室外の方は適宜読み替えてください。

本記事の内容

まずは以下ができるように説明を試みます。

  • 研究室計算機へのsshログイン
  • XフォーワードによるリモートGUIアプリの使用


研究室の計算機に直接インストールしてあるアプリを使いたいだけであれば上記までで十分ではあります。が、共用の計算機で各々好き勝手なことをやろうとすると色々と問題が生じてくるものです(使う方も管理・運用する方も)。

ということで、Dockerを用いた環境構築とその利用法についても説明します。

  • 研究室計算機内でのDockerイメージのビルドとコンテナの生成
    • 研究室で用意している機械学習用イメージと単粒子解析用イメージの両方の場合について説明します。あまり汎用的なDockerの説明にはなっていないので留意してください。
    • これらのイメージは将来的に統合する予定です。
  • sshポートフォワードによるローカルPCとDockerコンテナの直接接続
  • Dockerコンテナへのログイン
  • JupyterLabサーバーの起動
  • JupyterLabへの接続

前提

  • 研究室計算機のアカウントを持っていること。
  • コンソール(ターミナル)アプリの使い方がわかっていて、Unix/Linuxの基本コマンドが(調べながらでもいいから)使えること。
  • ローカルPC(自分が手元で使うPCのこと)にXサーバーがインストールされていて、Xサーバーが起動していること。
  • 研究室ネットワークへ接続していること。
  • ググって調べる心意気。

よくわからなければネットワーク係に相談してください。

研究室計算機へのsshログイン

sshコマンドの基本書式は?

sshの基本書式は以下の通りで、ユーザー名とログインしたい計算機のホスト名とを`@`でつなげてsshコマンドに渡す。

ssh [ログインしたい計算機における自分のユーザー名]@[ログインしたい計算機のホスト名(またはIPアドレス)]

※ []は、[]も含めて適当な値に置き換えること。


sshコマンドの使い方は簡易的には以下コマンドで確認できる。

ssh

詳細なドキュメントを読むにはmanコマンドを使う。

man ssh

研究室にはどんな計算機がある?

いろいろあるので、用途や空き状況に応じて適宜選択する。

研究室のファイルサーバーに計算機一覧表が置いてあるので(マニュアル\サーバー関連\計算機一覧\computer_list_yasunaga-lab.xlsx)、それを参照すればよい。計算機一覧表にアクセスできない場合や、一覧表を見たとてどれを使えばいいのかよくわからない場合は、ネットワーク係に聞く。

GPGPU計算をしないとわかっている場合は、GPUを使いたい人のためにも、高性能GPU(※)搭載の計算機利用は避けるのが望ましい。 ( ※ 2020年6月時点では GeForce GTX1080, GTX1080Ti, RTX2080, RTX2080Ti)

利用するのに予約は必要ですか?

計算機の予約状況は、研究室カレンダーのうちの「計算機」カレンダーで確認できる。他の人が使えなくなるレベルの重い計算を長時間走らせる場合は、先例に倣ってカレンダーで予約をする(あまり厳密にはやっていませんが)。交渉はSlackやメールで適宜やってください。

実際のログイン例

ユーザー名が tutorial で、ホスト名 cs03 の計算機にログインしたいとすると、

ssh tutorial@cs03

※ (ドメイン名無しの)ホスト名でアクセスするためには、ローカルPCのネットワーク設定においてDNSサーバーとDNSサーチドメインが設定されている必要がある。DHCPを使っていればDHCPサーバーが勝手に設定値を振ってくれるはずなので、気にする必要はないはず。もしホスト名でのアクセスがうまく行かなければ、ネットワーク係へ連絡してください。

もしくは、cs03のIPアドレスは 192.168.4.83 なので、以下の様にしてもログインできる。

ssh tutorial@192.168.4.83

初回ログインの場合は、以下のようなメッセージとプロンプトが表示される。

The authenticity of host 'cs03 (192.168.4.83)' can't be established.
ECDSA key fingerprint is SHA256:*****.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'cs03,192.168.4.83' (ECDSA) to the list of known hosts.
tutorial@cs03's password:

"Are you sure you want to continue connecting (yes/no)?"の問いに対しては "yes" と入力すればよい。(もちろん、それが信頼できるサーバーであるとわかっている場合。)

passwordには、計算機管理者から通知された計算機アカウントのパスワードを入力すればよい。コピペも効く。

XフォーワードによるリモートGUIアプリの使用

まずはローカルPCでXサーバーを起動する。起動方法はどのXサーバーを使うかにより異なるので、適宜マニュアルやブログなどを探して頑張ってください。

信頼できる計算機を相手にXフォーワードをする場合は、以下の様にする。

$ ssh -Y [ユーザー名]@[ホスト名]

要は通常のsshコマンドに -Y オプションを追加しているだけ。

-Yの代わりに-Xでも行けると思うが、-Xはセキュリティを重視して制限がかかる場合があるようで、一部のアプリは阻害されるかもしれない。研究室計算機相手であれば-Yで問題ないだろう。