SFTPを使った安全なファイル転送Leverage OSS(1/2 ページ)

ファイル転送プロトコル(FTP)は、かつてコンピュータ同士でのファイル転送に最も広く用いられたプロトコルだった。しかし、FTPは安全な通信方法とはいえない。企業ユーザーなら迷わずSFTPを利用すべきである。

» 2007年06月06日 00時00分 公開
[Murthy-Raju,Open Tech Press]
SourceForge.JP Magazine

 ファイル転送プロトコル(FTP)は、かつてコンピュータ同士でのファイル転送に最も広く用いられたプロトコルだった。しかし、FTPは認証情報およびファイルコンテンツを暗号化せずにケーブルを介して送るため、安全な通信方法とはいえない。Secure Copy(SCP)やもっとロバストなSSH File Transfer Protocol(SFTP)は、十分に暗号化されたチャネル上でデータを転送することで、このセキュリティ上の懸念を解決している。こうした代替案を利用すれば、インターネットをはじめとするどんな信頼できないネットワーク上でもセキュアなファイル転送を行うことができる。

 SCPもSFTPも、その根底をなすプロトコルとしてSecure Shell(SSH)に頼っている。SSHは、PKI(Public Key Infrastructure)に基づく認証と暗号化を使ってコンピュータ間にセキュアで暗号化されたチャネルを確立する。SSHでは、セッションを起動するための認証データの交換とその後のデータ転送に暗号化を用いている。

 SSHのサーバおよびクライアントソフトウェアは、現在のOSの大半に備わっている。また、ほとんどのLinuxシステムでは、OpenSSHスイートの一部としてSCPやSFTPのクライアントが利用できる。SCPやSFTPだけでなく、SSHもまた、リモートシェルやGUIデスクトップのリモート接続の設定、コンピュータ間のトンネリング、セキュアなブラウジングのためのSOCKSプロキシの設定、ポート転送に適したプラットフォームとして機能する。

SCPとSFTP

 SCPの起源は、Remote Copy(RCP)にある。SCPは、FTPと違って、更新日時や参照日時、ファイルの転送モードを保存する必要があるかどうかを指定できる。またRCPとは異なり、必要に応じてパスワード入力を求めることができる。さらに、ローカルマシンとリモートホストとの間のファイルのコピーだけでなく、2台のリモートホスト同士でのファイル転送も可能だ。

 SCPは、バッチ処理用の便利なコマンドラインツールである。ただし、SCPが動作するSSH1は旧式で今後サポート予定のないバージョンのSSHなので、SSH2で動作するSFTPのような別のプロトコルを利用した方がよいだろう。

 SFTPは本格的なファイル転送プロトコルで、リモートファイルの名前変更や削除などSCPでは処理できなかったものも含め、FTPにあるすべての操作を実現している。

 SFTPはSSHのサブシステムとして動作し、デフォルトの状態では標準のSSHポート番号22でファイル転送を行う。制御とデータトラフィックのためにポート20とポート21を開く必要があるFTPとは異なり、ファイアウォール上で複数の追加ポートを開く必要はまずない。SFTPクライアントは、大半のLinuxシステムが備えているOpenSSHスイートにsftpという名前で収められている。

 パスワードベースの認証(ただし、リモートホストがパスワードなしのSSH認証を許可していれば、パスワード入力の必要はない)を利用するときは、次のようにしてSFTPセッションを起動する。

sftp david@192.168.1.1


 sftpからパスワードの入力が求められ、認証に成功すると、sftp> というプロンプトのシェルが現れる。いったんsftpシェルに入ってしまえば、cd、lcd、ls、chmod、chgrp、get、put、rename、rmdirといったFTPで使えるコマンドが同じように実行できる。セッションを終了するには、プロンプトの後にexitと入力すればよい。

関連キーワード

FTP | セキュリティ | Leverage OSS


       1|2 次のページへ

Copyright © 2010 OSDN Corporation, All Rights Reserved.

注目のテーマ