計算機の遠隔使用
-もう一歩進んだUNIX環境-
情報科学II/システム工学 教材 大島正毅
2001.09.07改訂
今日の計算機はインターネット接続されているのが普通である。インターネット接続されている計算機同士は、さまざまな形でデータをやり取りできる。電子メールはインターネット以前から存在するが、今日はインターネットを前提とする。
・ある計算機から別の計算機を使うにはtelnet(rlogin)コマンドを使う。また、ファイルを転送するにはftp(rcp)コマンドが使われる。
・今日の演習にはSolarisを用いるので別の説明に従ってSolarisを立ち上げてほしい。
・Solarisが立ち上がったら、端末エミュレータを立ち上げること。
・リモート操作のコマンドは実際に離れた所のものを使うと実感がわくが、教育用計算機はセキュリティのためファイアウォールを設けて制約が多い。仕方なく、ここでは模擬的に使う。
・まず、hostnameコマンドを入れてみよう
% hostname
asbo1
のように答えてくれるはずである。
・自分の使っている計算機がasb01ならasb02を遠隔にある計算機と見立てることにする(もし自分の使っている計算機がasb02ならasb01)。
・目的の遠隔の計算機が使えるか(ネットに接続されているか)確かめてみよう。そのためにpingコマンドというのを用いる。
・一般にコマンドを使うには/usr/sbin/pingのような形式で使うといつでも使えるが、これではわずらわしい。そこで、.cshrcの中のpathの項に/usr/sbinと入れておくとpathに書いてあるディレクトリの中を探してくれるので、単にpingとするだけで使える。今日は.cshrcを書き換え(その後ログインしなおすかsource .cshrcとする)てpingですむようにするか/usr/sbin/pingとして使うか各自の好みで選んでよい。まずwhich pingとしてみる。/usr/sbin/pingのように表示されれば、単にpingで使える。
以下pingと書いてあるところはこの選択に従って単にpingか/usr/sbin/pingとなる。
・/usr/sbin/ping asbxx.edu.tosho-u.ac.jp (またはping asbxx.edu.tosho-u.ac.jp) と入れてみよう。xxのところは01か02である。皆が一斉に同じ計算機にアクセスすると混雑するので注意しよう。試してみてasb02.edu.tosho-u.ac.jp is aliveのように出てきたらその計算機はネットに接続されている。no answer from asb02.edu.tosho-u.ac.jpのように出てきたらその計算機はネットに接続されていない。
・目的とする計算機がaliveなことがわかったら
telnet asbxx.edu.tosho-u.ac.jpとする。
login: のメッセージが出てきたらログインできるのでログインしてほしい。telnetや次に述べるftpでは、自分が今どこのどういうアカウント名を使っているのか絶えず意識する必要がある。
・telnetコマンドを使えるようにする(ユーザ側の)ソフトを一般に端末エミュレータという。WindowsでもMacintoshでもインターネットにつなぐことのできるパソコンや計算機ならフリーソフトの端末エミュレータが利用できる(Windows向きの例Tera Term Pro、Macintosh向けの例NCSA Telnet J、BetterTelnet J、UNIXではtelnetコマンド)。それを使えば例えば自宅から任意の(アカウントを有する)計算機にログインできる。情報処理センターの研究用計算機や研究室の計算機は外からアクセスできる。機会があれば自宅からこれらの計算機にアクセスしてみよう。注意、telnetは文字を入れて結果に文字を出すコマンドに使える。Window環境を前提とするものは後で述べるX-Windowのエミュレータが必要。
・ここで、この計算機をどの位の人が使っているかwhoコマンドを入れてみよう。使っているユーザ名が表示される。
・あるユーザ名が分かったら、finger ユーザ名としてみよう。その人についての情報を教えてくれる。
・ある人がfooという名前で登録されていて、現にログインしているとき、talk foo@asbxx.edu.tosho-u.ac.jp(メールのアドレス形式と同じ)でその人を呼び出すことができる。呼び出された側には画面に「応答せよ」という旨のメッセージが出るので、指示に従えば交信できる。注意:他にもやることがあるので、長々とtalkをやらないこと。
・nslookupを使ってみよう
インターネットでは、IPプロトコルにおいて個々の機器を区別するのにIPアドレスが使われる。これを192.244.158.199のような形式で表す。インターネットの上では何をやるにもこのIPアドレスが本来必要である。しかし、いちいち覚えていられないので、c01.cad.tosho-u.ac.jpのような形式を使いたい。その橋渡しをするのがDNS(Domain name service)、その機能をユーザに提供しているのがnslookupである。なお、telnet等において計算機の指定にc01.cad.tosho-u.ac.jp、192.244.158.201いずれの形式も使えることが多い。
コマンドラインでnslookupとすると
% nslookup
Default Server: edu-mail.edu.tosho-u.ac.jp
Address: 10.0.1.2
>
のように表示される。ここで
zeus.ipc.tosho-u.ac.jp. (注意、最後に.ピリオドをつけるのが原則)のように入れてみよう。
Name: zeus.ipc.tosho-u.ac.jp
Address: 192.244.159.15
のように、名前とIP アドレスを対にして示してくれる。その上段に表示されるのは、情報を提供した計算機の名前とIPアドレスの対である。
・このような、名前とIPアドレスの対応は、世界的に一意性(同じものが一つしかないこと、ユニーク性ともいう)を保たねばならない。そのために、世界の中央に巨大なセンターが存在するかというと、存在しない!名前は.点で区切られているが、そこで区切られる単位をドメインという。各ドメインにはDNSサーバというのがあって、自分の直下のドメインについては責任を持っている。もし、自分で分らないものは、責任を持てるドメインサーバに問い合わせる。このようにして、分散と協調によって巨大な名前空間が管理されている。
・色々な計算機のIPアドレスを調べてみよう。
例 unixserver.edu.tosho-u.ac.jp io.ipc.tosho-u.ac.jp
・nslookupの終了はexitでできる。
・ftpを使ってみよう
ftpはtelnetと少し似ている。ログインと同じ手順で使用を開始する。telnetではすべてのコマンドが使えるが、ftpではファイルの転送関係のサブコマンドに限っている。代表的なサブコマンドはgetとputである。通常のUNIXコマンドであるpwdやlsも使える。get ファイル名とすると、遠隔にあるそのファイルが、手元の計算機のカレントディレクトリに転送される。putはこの逆で、手元のファイルを遠隔に送る。適当なファイルでgetやputを試してみよう。注意:大切なファイルはテストの対象にしないこと。上書きされて壊れるかも知れない。ftpの終了はquitで行う。
・telnetの終了はexitでできる。ひとまず元の計算機にもどって次に移ろう(最初に述べた端末エミュレータはいくつでも開けるので、わずらわしくなければそのままにして次の端末エミュレータを開いてもよい)
・ここで、つぎに備えて、xhost asbxxと入力してほしい。
・telnet asbxxまたはrsh asbxxでasbxxにログインしてみよう。(asbxxへのログインは正しくはtelnet asbxx.edu.tosho-u.ac.jpとするべきだが、密接につながっている計算機へはtelnet asbxxの形でもできる)。
・asbxxにおいて、
setenv DISPLAYasbyy:0.0 のように入れてほしい。ここにasbyyには自分の計算機名を入れる。この処理によって、本来asbxxのX-Windowのディスプレイに出るべき出力は、すべて指定した計算機に送られるようになる(正確にはマウス等も切り替わる)。
・asbxxにログインしたまま、xclock &と入れてみよう(ここの&は、コマンドを発行した後、端末をプロセスから切り離すためのオマジナイである)。自分の計算機に時計が表示されるはずである。これではなにも感激しないかも知れないが、よく想像力を働かしてみると感激すべきことである。実はasbxxが地球の裏側にある計算機だとしよう。そこまで行かなくとも、そこの画面に表示されるべき画像が手元の計算機に表示されるのだ!このようにしてX-Windowの遠隔使用機能は、遠く離れた計算機を結んで高度な利用を可能にする。
・もともと、X-Windowのシステムはそのように設計されている。一般にサーバとクライアントという概念があり、X-Windowに関してはモニタの管面に図形等を表示したり、マウスやキーボードのデータを読み込む計算機をサーバという。管面に表示するためのプログラムの動いている計算機をクライアントという。サーバとクライアントは同一の計算機であってもよいし、別の計算機であってもよい。その切り替えは今の例で分るように極めて簡単に行える。
・インターネット接続された計算機同士はこのように極めて容易にX-Windowの遠隔使用ができ、かつては困難とされていた遠隔地間での高度なやりとりが容易にできる。
・パソコンのソフトにtelnetやftp機能を使えるようにするものが多いが、X-Window機能を遠隔から使える(X-Windowサーバソフトという)ものがある。
時間に余裕があればWWWブラウザを立ち上げ、大島のホームページ(http://carrot.isl.tosho-u.ac.jp/)にアクアセスし、教育活動のページを見て欲しい。勉学の材料が種々提供されている。アクセスできないページがあったら教えてほしい。
UNIXの遠隔使用に慣れてより充実した計算機の学習に取り組んでほしい。
質問・連絡は
oshima%kaiyodai.ac.jpまで