next up previous contents
: テキストエディタの使い方 : UNIXの基本的な操作 : プリント操作   目次


リモート計算機の使用

24時間稼働しているサーバー機は、安定性を重視するため、大きなファン を備えていることが多く、近くに置いておくと騒音がうるさいので、計算機室の ような離れた場所において、リモートから操作する場合が一般的です。 UNIXは、初期の段階からネットワーク機能を使えるように設計されてきました。 リモート計算機(離れた場所にある計算機)78 を使用するため、 telnet や rsh などのリモートログインのプログラム、ftp というファイル転送のプログラムが長く使われてきましたが、これら のプログラムは、ユーザー認証をする時のパスワードを、ネットワーク上にその まま流し、ネットワークの途中でパケットを盗聴されると、パスワードが見られ てしまうため、最近は、これらのプログラムは限定された環境だけで使用されま す。代わりに、通信経路を暗号化して通信する ssh や scp、sftpが一般的に用 いられています79。ここでは、ssh や scp、sftp の基本的な使い方を説 明します。

ssh は、リモートホストにログインする方法です。ssh では、通信経路の暗号化を行 なうために、お互いの暗号化のキーを覚えていて、それに基づいて、暗号化とそ の復元を行なって通信します。一番最初に、あるホストに ssh で接続した場合 には、相手の暗号化のキーを保存するかどうか尋ねてきますので、yes と入力し て下さい80。 次に、Password: を尋ねてきます81 ので、入力すると、ログインが完了しま す。では、ssh で s182 にリモー トログインしてみましょう。

 % ssh s1 
The authenticity of host 's1 (192.168.65.2)' can't be established.
DSA key fingerprint is 11:c3:bd:e3:88:25:66:60:58:71:16:e9:fe:81:d9:a3.
Are you sure you want to continue connecting (yes/no) yes  
(初めて ssh でログインする場合、公開鍵を登録して良いか聞いてくるので、yes と入力)
Warning: Permanently added 's1' (DSA) to the list of known hosts.
Password:    (パスワードを入力)
Last login: Tue Mar 11 11:14:18 2008 from tobio.bio.physp
Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994
        The Regents of the University of California.  All rights reserved.
FreeBSD 6.1-RELEASE (GENERIC) #0: Sun May  7 04:32:43 UTC 2006

Welcome to FreeBSD!
s1:~> xclock &          
s1:~> locate ログイン名 | less
ssh で、ログインする場合には、デフォルトでは、リモートホストとローカルホ ストのログイン名が同じであると仮定してログインします。リモートホストの ログイン名が、ローカルホストと異なる場合には、「-l ログイン名」 というオプショ ンで指定するか、またはホスト名として 「ログイン名@ホスト名」 で指定します。 ssh では、X11 port forwarding 83 という機構を 利用して、X の GUI の表示をローカルホストに表示することが可能です 84。 上の例では、xclock というアプリケーションが、ローカルホストの画面に表示 されたはずです。s1 は、stex の NFSサーバーで、ユーザーのホームディレクト リをもっているサーバーです。§2.3.6 で説明したように、locateデー タベースは、 s1 では /home 以下も含んで構築されるので、locate ログイン名 で、自分のホームディレクトリ以下のファイルやディレクトリの一覧を見ること ができます85

scp は、異なったホスト間で、cp と同じ様にファイルをコピーするコマンドで す。リモートホストのファイルには、ファイル名の前に、ホスト名:(または、 IPアドレス:)をつけます。

  % scp ファイル名 ホスト名:ファイル名
  Password:    (パスワードを入力)
  ファイル名               100%  150     0.2KB/s   00:00
         (ファイルの転送速度などが表示されます、)
リモートホストのファイル名を、相対パス名(§2.3.1 節参照)で指定した場 合は、ホームディレクトリを基準にします。

sftp は、古くからある ftp というソフトウェアを、ssh の暗号化した経路上で 実現したものです。sftp の中で用いるコマンドは、ftp とほぼ同じです。

  % sftp s1
  Password:
  sftp> ls    (ls コマンドは、通常の ls コマンドとオプションも同じです)	
  bin        doc        xorg.conf
  sftp> get xorg.conf  (リモートからローカルへは、get コマンド)
  Fetching /home/XXX/xorg.conf to xorg.conf
  /home/XXX/xorg.conf         100% 7915     7.7KB/s   00:00
  sftp> put xorg.conf xorg.conf2 (ローカルからリモートへは、put コマンド)
  Uploading xorg.conf to /home/ohba/xorg.conf2
   xorg.conf                  100% 7915     7.7KB/s   00:00
  sftp> ls
  bin          doc          xorg.conf    xorg.conf2
  sftp> rm xorg.conf   (rm コマンドも使えます)
  sftp> quit         (sftp から抜けるのは quit です)
  %
ファイルを転送するには、put と get コマンドを使います。get や put の引数をひとつしか与えないと、同じファイル名でコピーされます。sftp で使えるコマンドの一覧は、help コマンドで表示されます。