FTP/SFTP/SCP
FTP
概要
FTP(File Transfer Protocol)はサーバーとクライアント間で、ファイルを送受信する通信の決まりごと(プロトコル)である。FTPという用語だけで、本来の意味である通信方法以外にも、FTPサーバーやFTPクライアント(ソフト)など、多用な意味を持って語られることが多い。FTPサーバーはインターネット側に位置し、Webサーバーとつながっているので、FTPサーバーを操作することによりWebサーバー内のファイルを制御できる。FTPにはサーバー側にもクライアント側にも、PIとDTPという専門的なプログラムが含まれている。
SFTP
SCP
概要
Secure Copy(scp)は、sftp同様、Secure Shell(ssh)に含まれるsshの機能を使ってセキュリティの高い(セキュアな)ファイル転送を行うコマンドの 1 つである。scpで使用される通信プロトコルは、Secure Copy Protocol(SCP)と呼ばれる。
認証情報(たとえばパスワード認証なら、ユーザー名やパスワード)と、セッション中でやり取りされるデータとの両方ともが、暗号化されてネットワーク上を流れる。Unixで古くから使われているリモートファイル転送コマンドrcp(Remote CoPy)のセキュアなバージョンといえる。コマンドラインの指定方法はrcpとほぼ同じである。rcpは暗号化などに対応しておらず、安全ではない。ある種のシステムではrcpという名前で起動しようとするとscpコマンドを実行する。
ssh-agentコマンドなどと組み合わせて利用すれば、コピー時に認証情報の入力が不要で、cpやrcp同様に利用できる。SSHを介してファイル転送を行うプロトコルとしてはSSH File Transfer Protocol(以下SFTP)があり、両者はしばしば比較される。その際、SCPはより軽く、SFTPはより高機能と表されることがある。