OpenSSHには、rcpとftpに相当する機能を認証と通信内容の保護が行なわれるsshのプロトコル上で実行できるツールとして、scpとsftpがついている。今回はこれらの使用方法について説明しよう。 簡単なファイル転送を行う時にはscpを使うのが便利だ。scpを使用するためにはリモートとローカルの両方の環境にsshとscpがインストールされていること、またそれらがデフォルトのパスに含まれていなければならない。リモートのscpにパスが通ってない場合には、scpを使おうとすると、scp: command not foundというエラーが出る。そのような場合には configure する時に ─with-default-path オプションを使ってパスを指定するなどしなければならない。/usr/local/binにscpがある場合ならば$ ./configure ─with-default-path=/bin:/usr/bin:/usr/local/binと指定すればよい。 scpの使用コマンド書式はscp [-o Protocol=1] [-v] [-p] [-r] [-q] [c] [[UserID@hostname1:]filename1 [[UserID@hostname2:]filename2という形になる。-o Protocol=1はSSH1プロトコルの指定、-vオプションはデバッグ用メッセージの表示、 -pオプションはファイルの変更日時、アクセス時間、パーミッションの情報も同時にコピー、-rオプションはディレクトリ内部を含めて全てコピー、-qオプションは進行状況の非表示、-cオプションは圧縮転送を表す。最初のファイル指定はコピー元、後のファイル指定はコピー先を表す。 コピー先がローカルホストのカレントディレクトリの場合はコピー先の指定は全て省略できる。例えば、リモートホストであるsshd.office.acのファイルtext1.textを手元にコピーする場合には次のようなコマンドになる。$ scp -o Protocol=1 sshd.office.ac:/home/office/text1.textコマンド入力後、認証のために必要な暗号鍵を呼び出すためのパスフレーズを、Enter passphrase for RSA key 'office@key-gen.office.ac':という具合に求められる。パスフレーズを入力するとコピーの進行度を表示しながらファイルコピーが行われる。 ディレクトリごとコピーする場合には$ scp -o Protocol=1 -r sshd.office.ac:/home/office/doc doc2のように-rオプションを指定する。ワイルドカードを用いた方法として$ scp -o Protocol=1 -r 'sshd.office.ac:~/office/doc/*'という記述をとることもできる。officeoffice@ukky.nethttp://www.office.ac/(詳しくはScan本誌をご覧ください)http://www.vagabond.co.jp/vv/m-sc.htm