Skip to content

Instantly share code, notes, and snippets.

@iwaokimura
Last active October 19, 2015 23:18
Show Gist options
  • Select an option

  • Save iwaokimura/b9e922d9031d0d7d87fa to your computer and use it in GitHub Desktop.

Select an option

Save iwaokimura/b9e922d9031d0d7d87fa to your computer and use it in GitHub Desktop.
SageMathCloudにsshでログインする

SageMathCloudにSSHでログインする

前提条件

SageMathCloud(以下SMCと略する)にアカウントを作ってある.一つ以上のプロジェクトを作成している.SMCでは,プロジェクト毎に,そのプロジェクトをホストするLinux仮想マシンが割り当てられていることを理解している.また,手元にLinuxなどのUnix互換環境がある(少なくとも,SSHが使える環境がある).

ゴール

今回のゴールは,SMCのプロジェクトの一つをホストするプロジェクトサーバに,手元のLinuxからSSHでログインすることである.

準備(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を設定しない場合は,いま生成した秘密鍵にアクセスできる人は,対応する公開鍵をおいたホストに自由にログインできるので取り扱いに注意する.

準備(SMCのプロジェクトサーバへ公開鍵を送る)

http://cloud.sagemath.org にログインし,今回対象とする projectA を起動する.setting の画面から Project controle の箇所をさがし,SSH into your project のボタンをクリックする.

https://gist.githubusercontent.com/iwaokimura/b9e922d9031d0d7d87fa/raw/59b0c597b019709355f47a4e706aec9de971d6b8/screenshot-1.png

このボタンをクリックすると,プロジェクトサーバのホスト名と,自分のユーザ名が表示される.その近くに,「公開鍵を ~/.ssh/authorized_keys に追加する」というリンクが現れる.これをクリックすると,公開鍵のアップロードを促す窓が開くので,上で作った公開鍵 SMC_projectA_id_rsa.pub を指定し,アップロードする.

また,このプロジェクトのプロジェクトサーバでのユーザ名とプロジェクトサーバのホスト名が表示されるので,次でSSHのconfigファイルに記録するために控えておく.

https://gist.githubusercontent.com/iwaokimura/b9e922d9031d0d7d87fa/raw/5c89a529d402dffffa9c8d90ca0fd4dc888784c1/screenshot-2.png

準備(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

テスト(SMCのプロジェクトサーバへのログイン)

以上の設定で,projectAのプロジェクトサーバへ,SSHでログインできるはずである::
local$ ssh SMC_projectA

以上.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment