盗聴、改ざん、なりすまし防止のためのssh。sshサーバに向いている転送方法は、軽快なscpか高機能なsftpか、どっちだ?(編集部)
前回はsshを使って安全にサーバを管理する方法を取り上げました。実はこのsshにはちょっとした仕掛けが隠されています。そんな仕掛けを上手に使う「安全なファイル転送」を今回取り上げましょう。安全なファイル転送は、サーバ管理だけでなく、さまざまな場面で活躍するはずです。
ファイル転送とは、ネットワークでつながったコンピュータにファイルを送ったり、受け取ったりすることです。つまり、ファイル転送をするには、ネットワークの中をファイル本体が流れていく、ことになります。
ここで問題になるのが、盗聴、改ざん、なりすましの問題です。第三者に知られることなく、ファイルの内容そのままで、正しい相手に送り届けるためには、単に相手へファイルを送っただけではうまくいきません。
ここで取り上げる「安全なファイル転送」とは、暗号化の仕組みなどを使って、ファイルを送り届ける方法に工夫を凝らし、盗聴、改ざん、なりすましといった事故を起こすことなく、相手にファイルを送り届けることを意味しています。
安全なファイル転送をする方法はいろいろありますが、ここではsshの仕組みを使う方法を取り上げます。これまでも触れましたが、sshは3層構造になっていて、その中には、相手サーバや利用者が正しいことを確認し、データは暗号化して他人に読めなくしたものを送信し、さらにデータの一貫性も保つような仕組みが用意されています。これを使うわけです。
これらの仕組みはすでに準備されているので、それを活用するだけで安全なファイル転送を実現できます。
リモートコンソール機能はsshの重要な機能の1つです。しかしこのほかにもsshは、「リモートマシンでのプログラム実行」機能や「サブシステムの実行」機能を備えています。これらを上手に使うと、安全なファイル転送ができます。
もう少し具体的にいうと、通信相手のコンピュータで「ファイルの内容をsshの通信路を使ってこちらに送ってくるプログラム」を実行すると、ファイル転送ができるようになります。または、ftpサーバのようなファイル転送専用のサービスを動かす方法もあります。
現在、sshで使われているファイル転送の方法には、scpとsftpの2種類があります。この2つの違いが意識されることは少ないようで、「どういう場合にどちらを使わなければならない」といった使い分けはあまりされないようです。
実際のところ、この2つを見て「ファイルを転送する」働きそのものには大きな違いはありません。しかし動いている仕組みは微妙に違っていて、よく見るとそれぞれ別々の特徴を持っています。具体的には、scpは「リモートマシンでのプログラム実行」の仕組みで、sftpは「サブシステムの実行」の仕組みで動いています。
Copyright © ITmedia, Inc. All Rights Reserved.