ファイル転送はWebサイト制作やデータ管理において欠かせません。
FTPソフトを使ってサーバーにファイルをアップロードする際、SCP、SFTP、FTP、FTPSなど、様々なプロトコルがあります。それぞれ転送速度やセキュリティ面で特徴が異なります。
この記事では、これらのプロトコルの違いを分かりやすく解説し、最適なプロトコルを選ぶためのヒントを紹介しています。
転送速度とセキュリティを両立させたい方、初心者の方でも安心して読めるように、具体的な例を交えて解説します。
この記事を読めば、FTPソフトの接続方法を選ぶ際の迷いが解消され、より効率的に作業を進められるようになります。
なお、私は元々Lolipopで運用していたのですが、数年間運用することでLolipopの重大な問題が発覚したために、いろいろと調べて、Xserverに移管することにしました。その際にWinSCPをがっつり使い、この記事をまとめるに至りました。
移管に至った経緯や、XserverとConoha Wingの比較などについては下記をご参考ください。Xserverの料金が1万円引きになるリンクも紹介しています(私の場合これが最終的な決め手でした)
サーバーと接続する4つの方法
自分のPCでサーバーに接続してファイルをアップロードしたりダウンロードする際にはWinSCPのようなFTPソフトを使うと便利です。
その際、サーバーと接続する主な方法には次の4種類があります。
どれでも接続することができるのですが、以下の違いがあります。
特に、転送速度とセキュリティ、機能はかなり重要です。以下でそれぞれの違いとどれを選ぶべきかを解説します。
FTP、FTPS、SFTP、SCPの違いサマリ
比較一覧表
最もセキュリティが高く、転送速度も速く、機能も充実している「SFTP」です。
SCPは更に高速なのですが、ファイル削除やディレクトリ作成などができないコピーに特化した仕様になっています。
プロトコル | 速度 | セキュリティ | 主な機能 | 機能 |
---|---|---|---|---|
FTP | 速い | 低い 暗号化なし | ディレクトリの作成、削除、ファイルの検索など | 基本的なファイル転送 |
FTPS | 中程度 | 中 | ディレクトリの作成、削除、ファイルの検索など | FTPの機能にSSL/TLSによる暗号化を追加 |
SFTP | やや高速 | 高い | ディレクトリの作成、削除、ファイルの検索など | FTPよりも多くの機能、SSHの機能も利用可能 |
SCP | 高速 | 高い | コピー(削除などはできない) | ファイルコピーに特化 |
速度の違い
一般的な速度の比較は次のようになります。
SCP > SFTP > FTPS > FTP
SCPが最も高速で、次いでSFTPがきます。
セキュリティの違い
SCPとSFTPはともにSSHという接続方法を使うため非常に安全です。
次に安全なのはSFTPです。FTPSはFTPよりも安全ですが、SFTPほどではありません。
特に、FTPは最もセキュリティが低いです。
機能の違い
SCPはファイルコピーに特化しています。このため、ファイルの削除やディレクトリの新規作成といったディレクトリ操作はできません。
SFTPは多くの機能があります。FTPのようなファイル削除やディレクトリの新規作成といった機能はもちろん、転送の途中停止と再開などの機能もあります。
FTP、FTPS、SFTP、SCPの違い詳細
FTP(File Transfer Protocol)
FTPとは、File Transfer Protocolの略です。
インターネット上で最も古くから使われているプロトコルです。
暗号化されておらず、通信内容が平文でやり取りされるため、パスワードなどの機密情報が盗聴されるリスクがあります。
一般的なネットワーク環境では、十分な転送速度が期待できますが、大規模なファイル転送には不十分です。
FTPS(File Transfer Protocol over SSL/TLS)
FTPSとは、File Transfer Protocol over SSL/TLSの略です。
FTPにSSL/TLSという暗号化を追加したものです。
暗号化処理のオーバーヘッドがあるため、FTPに比べてやや遅くなる場合があります。
SSL/TLSとは何か?
SSL/TLSは、インターネット上でのデータ通信を安全に行うためのプロトコル(通信手順)のことです。
一般的に、SSL/TLSと言った場合、TLSのことを指すことが多いです。
SSLは、Secure Sockets Layerの略です。古いプロトコルで、いくつかの脆弱性が発見されています
TLSは、Transport Layer Securityの略です。SSLの後継プロトコルで、SSLの脆弱性を修正し、より安全な通信を実現しています。
SFTP(SSH File Transfer Protocol)
SFTPは、SSH File Transfer Protocolの略です。
SSH(Secure Shell)という安全な通信プロトコル上で動作するため、高いセキュリティを誇ります。通信内容だけでなく、認証情報も暗号化されるため、非常に安全です。
暗号化処理に時間はかかるものの、一般的にFTPSよりも高速です。
SCP(Secure Copy Protocol)
SCPは、Secure Copy Protocolの略です。
SCPもSFTPと同じくSSH(Secure Shell)を利用しているため、セキュリティは非常に高いです。
機能豊富なSFTPと比較してコピー(ファイル転送)に特化したシンプルな仕様のため高速です。
SSHとは何か?(秘密鍵と公開鍵)
SSH(Secure Shell)とは、ネットワーク上の別のコンピュータに安全に接続し、コマンドを実行したり、ファイルを転送したりするためのプロトコルです。
SSHを使うことで、パスワードによる認証だけでなく、秘密鍵と公開鍵を使った公開鍵認証方式を用いて接続することでセキュリティを強化することができます。
秘密鍵と公開鍵とは?
SSHの認証に用いられる秘密鍵と公開鍵は、ペアになった鍵で、それぞれ異なる役割を持ちます。
SSH認証の流れ
SSHによる認証は次のような流れになっています。
- SSHクライアントを使って、秘密鍵と公開鍵のペアを作成します。
- 作成した公開鍵を、接続先のサーバーに登録します。
- 秘密鍵の場所を指定します。
- SSHクライアントでサーバーに接続しようとすると、クライアントは秘密鍵を使ってデータに署名し、サーバーに送信します。
- サーバーは、受け取った署名を登録済みの公開鍵で検証します。署名が一致すれば、認証成功となり、接続が許可されます。
SSHのメリット
SSH接続には次のようなメリットがあります。
- 安全な接続
パスワードを平文で送信するよりも安全です。 - 自動化
パスワードを入力する手間が省け、スクリプトによる自動化が容易になります。 - 多機能
ファイル転送(SFTP)、リモートコマンド実行など、様々な機能が利用できます。
SSHの活用例
SSHは様々なシーンで活用されています。例えば次のような場合に使用されます。
- リモートサーバーの管理
遠隔地のサーバーにログインして、システムの管理や設定変更を行う。 - ファイル転送
SFTPやSCPを使って、安全にファイルを転送する。 - 自動化
スクリプトを使って、定期的なバックアップやシステムの監視を行う。
まとめ
SSHは、ネットワーク上のコンピュータを安全に管理するための重要なツールです。秘密鍵と公開鍵を用いた認証方式は、パスワード認証よりも高いセキュリティを提供します。
SSHを効果的に活用することで、システム管理の効率化やセキュリティの強化が期待できます。
まとめ
レンタルサーバーのディレクトリとPCのローカル環境をつなぐにはFTPソフトを使います。
そのときの接続方法には主にSCP、SFTP、FTP、FTPSの4種類があります。
最も、安全でセキュリティが高く、ディレクトリ操作も可能で高速なのは「SFTP」です。
みなさんも、SCP、SFTP、FTP、FTPSの違いを理解して、快適なFTPソフトの使用をしてください!