自身が大学内にて使っているterraネットワークの使用法を忘れないようにメモしとく


☆terraへの入り方
例えば、mawatariというアカウントでterraに入りたい場合
$ ssh terra -l mawatari -X

学外のpcからログインする場合は
$ ssh terra.astr.tohoku.ac.jp -l mawatari -X

オプション"-X"はつけるとリモートマシンのアプリケーションを使えるようになる。


☆家や出張先から研究室のpcに入って作業する
sshを使えば任意のリモートマシンから自分の作業pcに入り仕事できる。

・例えば研究室pc(例えばアカウントがken)のマシン名が??????.astr.tohoku.ac.jpと分かっている場合
→リモートマシン(家pc)とかの端末(windowsならcygwinとか)からそのマシン名でsshすればOK
$ ssh ??????.astr.tohoku.ac.jp -l ken -X
あとは自由にいじれる

・研究室pcのマシン名が不明の場合
特に大学内のpcなどはDHCP方式をとっているため、マシン名が時間変化する。そういう場合は自分のマシン名を調べないといけない。
常に研究室pcでterraにログインしておけば
$ ssh terra.astr.tohoku.ac.jp -l mawatari -X  (家pcからterraにアクセス)
$ who
このwhoコマンドでその時ログインしているアカウントとログインしているpcのマシン名が一覧で出てくるので、それで自分の研究室pcのマシン名を調べれば良い。


☆terraで繋がっているpc間でのデータのコピー
terraで繋がっているパソコンでマシン名さえ分かっていればデータのやりとりが自由に出来る。またterraを介入させれば研究室pc(terraにつながってる)と外部pcとの間でもデータ交換可能

例えば、???2.astr.tohoku.ac.jpというマシン名のpc内のファイル(ディレクトリ)を今使ってる???1.astr.tohoku.ac.jpという名前のpcにコピーしてくることを考える。
・まず???2.astr.tohoku.ac.jpのなんらかのアカウント(以下ではken2)に入る
$ ssh ???2.astr.tohoku.ac.jp -l ken2 -X
・コピーしたいファイルのあるディレクトリに"cd"で移動する
・"scp"を使って???1.astr.tohoku.ac.jpのken1アカウント、ホームディレクトリ内TMPというディレクトリにコピー
$ scp -r copyfile ken1@???1.astr.tohoku.ac.jp:~/TMP/
要は
scp -r コピーするファイル アカウント@コピー先のマシン名:コピー先のディレクトリ

※オプション"-r"をつけないとディレクトリごとのコピーは不可


・応用
わざわざsshで???2.astr.tohoku.ac.jpに入ってからscpせずとも、???1.astr.tohoku.ac.jpからでもscpできる。
$ scp -r ken2@???2.astr.tohoku.ac.jp:~/work/copyfile ~/TMP/

※コピー元とコピー先の指定さえしっかりしていればどうにでも応用きく


☆terraサーバーを使ってHP公開
terraはサーバーなのでhtmlファイルを置いておけばホームページが公開できる。
ただし以下のことをやっておかなければならない↓

1, public_htmlというHP用ディレクトリをつくる
terraのホームディレクトリ(自分なら/home/mawatari/)につくる。
(terraに入った状態で)
$ mkdir public_html

ホームページに必要なファイルは全部このpublic_htmlに放り込んでおくこと(scp使う)。あと必ずトップページの名前はindex.htmlにしと く。

2, アクセス権限の確認
次に注意しなくてはならないのがアクセス権限である。アクセス権限とはあるファイルやディレクトリに対して「読み・書きこみ・実行」する権限を指し、一般にはそのファイルを作った人(所有者)にしかない。
自分のパソコン内で自分のファイルを見る分にはアクセス権限は所有者(自分)だけでいいが、HPとして公開するためにはサーバー側のコンピューターも「読み・実行」の権限を持っている必要がある。つまり、サーバーがhome/mawatari/public_html/から勝手にファイルを読み込みweb上に公開できるようにしなければならないのである。

そうしたアクセス権限が現状でどうなっているか、まずは確認してみる。
$ cd /home
$ ls
homeの下にはterraに所属している人のアカウントが全部入っているはず
そこで
$ ls -l
と打てば、全アカウントのアクセス権限が表示されるので自分のを確認する。多分デフォルトでは
drwx------ ? mawatari   users  〜〜略〜〜  mawatari
とかになってるはず。
これは左側の"drwx------"がアクセス権限を表していて「所有者にしか読み、書き、実行の権限がない」ということを表している。

3, その他のユーザーに読み、実行の権限を持たせる
どうやってやるかというと"chmod"というコマンドを用いる。
$ chmod o+r mawatari/
$ chmod o+x mawatari/

以上の作業でmawatari/というディレクトリのアクセス権限で、所有者以外のユーザー(o)に読みこみ権限(r)と実行権限(x)を持たせたことになる。
ちゃんとできていれば
$ ls -l
で自分のアクセス権限を確認したときに
drwx---r-x ? mawatari   users  〜〜略〜〜  mawatari
に変わってるはず


以上の作業を行えばあとはpublic_html/内のファイルを書き換えたり、scpで新しいファイルを送り込むだけでホームページの更新が行える。例えば、自身のpcの中でつくったindex.htmlというファイルをterraに置いて公開したければ、
(自身のpcの端末から)
$ scp index.html mawatari@terra.astr.tohoku.ac.jp:~/public_html



TOP画面に戻る