SageMathCloud(以下SMCと略する)にアカウントを作ってある.一つ以上のプロジェクトを作成している.SMCでは,プロジェクト毎に,そのプロジェクトをホストするLinux仮想マシンが割り当てられていることを理解している.また,手元にLinuxなどのUnix互換環境がある(少なくとも,SSHが使える環境がある).
今回のゴールは,SMCのプロジェクトの一つをホストするプロジェクトサーバに,手元のLinuxからSSHでログインすることである.
手元のLinuxで,SSH鍵ペアを生成する.この手順は,SMCに固有のことは何もなく,SSH鍵ペアの生成の一般的な操作である.
- 以下,local$ は手元のLinuxでのシェルプロンプトである.また,ログインする先のSMCのプロジェクトは,projectAという名前だとしよう. ::
- local$ ssh-keygen -C "SSH key pair for the SMC project A, generated on local." -f SMC_projectA_id_rsa
鍵にpassphraseを設定しないなら,エンターをたたくだけで ~/.ssh/SMC_projectA_id_rsa ~/.ssh/SMC_projectA_id_rsa.pub が出来る.前者が秘密鍵,後者が公開鍵である.passphraseを設定しない場合は,いま生成した秘密鍵にアクセスできる人は,対応する公開鍵をおいたホストに自由にログインできるので取り扱いに注意する.
http://cloud.sagemath.org にログインし,今回対象とする projectA を起動する.setting の画面から Project controle の箇所をさがし,SSH into your project のボタンをクリックする.
このボタンをクリックすると,プロジェクトサーバのホスト名と,自分のユーザ名が表示される.その近くに,「公開鍵を ~/.ssh/authorized_keys に追加する」というリンクが現れる.これをクリックすると,公開鍵のアップロードを促す窓が開くので,上で作った公開鍵 SMC_projectA_id_rsa.pub を指定し,アップロードする.
また,このプロジェクトのプロジェクトサーバでのユーザ名とプロジェクトサーバのホスト名が表示されるので,次でSSHのconfigファイルに記録するために控えておく.
- 手元のlinuxでSSHのconfigファイルを編集し,ユーザ名,ホスト名(前のステップで表示され控えておいたもの.以下の例ではxxxxxxxxxxxxxxxxxxxxxxxxxxだが,実際には数字とアルファベットの長い文字列)の入力を簡素化する ::
- local$ vi ~/.ssh/config
Host SMC_projectA
HostName compute2-us.sagemath.com
IdentityFile ~/.ssh/SMC_projectA_id_rsa
User xxxxxxxxxxxxxxxxxxxxxxxxxx- 以上の設定で,projectAのプロジェクトサーバへ,SSHでログインできるはずである::
- local$ ssh SMC_projectA
以上.



