SFTPとは?SSHで安全にファイルを送る仕組み
SFTPは、ファイル転送を安全に行うために使われるプロトコル(通信の約束事)です。まずは正式名称と基本的な役割、SSHとの関係、標準で使われるポート番号を確認しましょう。全体像をつかむことで、FTPなど他の方式との違いも理解しやすくなります。
SFTPの正式名称と基本的な役割
SFTPは「SSH File Transfer Protocol」の略で、SSHの暗号化通信を使ってファイルを送受信するためのプロトコルです。アップロードやダウンロードに加え、ファイル一覧の表示や名前の変更、削除といった操作もできます。Webサイトの更新や取引先とのデータ受け渡しなど、幅広い場面で使われています。
名前が似ているため、FTPを暗号化しただけのものと誤解されがちですが、SFTPはFTPとは別に設計されたプロトコルです。FTP専用のソフトとは、そのままでは通信できない点に注意しましょう。なお、1980年代に規定された「Simple File Transfer Protocol」も同じくSFTPと略されます。ただし現在、一般にSFTPといえばSSHを使う方式を指します。
SSHの上で動く仕組みとポート番号
SSH(Secure Shell)は、ネットワーク越しに別のコンピューターを安全に操作するための仕組みです。SFTPはこのSSHの接続を土台とし、その内側でファイル操作の命令やデータをやり取りします。通信の暗号化やサーバの本人確認はSSHが担うため、SFTP自体は転送の手順に専念できる構造です。SSHの安全な通信路を、ファイル転送に活用した方式といえます。
ポート番号は、SSHと同じ22番が標準として使われます。1本の接続で命令とデータの両方を扱うため、ファイアウォールで開けるポートが少なく済む点も特徴です。不正アクセス対策として22番以外のポートに変更して運用するケースもあります。その場合は、接続時に変更後の番号を指定します。
FTP・FTPS・SCPとSFTPの違い
SFTPと混同されやすいプロトコルには、FTP、FTPS、SCPがあります。いずれもファイルを転送する目的は同じですが、暗号化の方式や使うポート、できる操作に違いがあります。ここでは主な違いを整理しますので、自社の用途にあう方式を判断する材料にしてください。
暗号化されないFTPとの違い
FTP(File Transfer Protocol)は古くから使われてきたファイル転送の方式ですが、通信内容が暗号化されません。そのため、ログイン時のIDやパスワード、転送するファイルの中身が、途中で盗み見られるおそれがあります。社外とのやり取りや個人情報を含むデータには、暗号化に対応した方式を選ぶのが基本です。主要なWebブラウザの多くも、すでにFTPへの対応を終了しています。
ポートの使い方も異なります。FTPは命令用に21番を使い、データの転送には別の接続を用意するため、ファイアウォールの設定が複雑になりがちです。一方のSFTPは、22番の1本の接続で完結します。通信経路の管理を比較的シンプルにできる点は、運用面での大きな利点といえるでしょう。
FTPS・SCPとの違いと使い分け
FTPSは、FTPにSSL/TLSという暗号化の仕組みを組み合わせた方式です。暗号化される点はSFTPと同じですが、土台はFTPのままのため、命令用とデータ用で複数の接続を使う構成を引き継いでいます。すでにFTPで運用している環境を、仕組みを大きく変えずに暗号化したい場合に向いています。
SCPはSSHを使ってファイルをコピーするシンプルな方式で、SFTPと同じく22番ポートで動作します。ただし、サーバ上のファイル一覧の確認や削除といった操作には対応していません。転送だけなら手軽なSCP、ファイルを管理しながら扱うならSFTPと使い分けるとよいでしょう。なお、OpenSSH 9.0以降のscpコマンドは、内部の通信にSFTPを使う方式に変わっています。
SFTPで使える2つの認証方式
SFTPで接続する際は、SSHの仕組みを使って利用者の本人確認を行います。代表的な認証方式は、パスワード認証と公開鍵認証の2つです。それぞれの特徴を理解し、求める安全性にあわせて選びましょう。認証方式の設定は、サーバの安全性に大きく影響します。
手軽に始められるパスワード認証
パスワード認証は、ユーザー名とパスワードを入力してログインする、なじみのある方式です。サーバ側でアカウントを作成すればすぐに使えるため、導入の手間がほとんどかかりません。一時的なファイルの受け渡しや小規模な利用では、この手軽さが利点です。パスワードはSSHによって暗号化された状態で送られるので、通信途中で読み取られる心配は小さいといえます。
一方で、推測されやすいパスワードを設定すると、総当たり攻撃で突破されるリスクがあります。インターネットに公開されたSFTPサーバには、不正ログインを試みる通信が日常的に届くと考えておくべきです。パスワード認証を使う場合は、長く複雑な文字列を設定しましょう。ログイン失敗が続いた接続元を遮断する対策も組み合わせると安心です。
安全性を高める公開鍵認証
公開鍵認証は、「秘密鍵」と「公開鍵」という対になった2つの鍵を使う方式です。利用者は手元で鍵のペアを作成し、公開鍵だけをサーバに登録します。接続時には秘密鍵を持っていることを暗号の計算で証明するため、秘密鍵そのものがネットワークに流れることはありません。パスワードのように推測で突破される心配が小さい点が強みです。
鍵のペアは「ssh-keygen」コマンドなどで作成します。OpenSSHでは、公開鍵をサーバ側の「.ssh/authorized_keys」に登録するのが一般的です。秘密鍵が漏れると悪用されるため、パスフレーズで保護して厳重に管理しましょう。業務用のサーバでは、パスワード認証を無効にして公開鍵認証のみを許可する運用も検討するとよいでしょう。
ITトレンドでは、最新の製品・サービスを多数比較・掲載しています。まず資料を取り寄せて、さまざまな製品の機能や特徴を比較してみてください。忙しい業務時間内でも、各社に問い合わせる手間なく、たった1回の入力(約60秒)でファイル転送の一括資料請求が可能です。浮いた時間で、じっくりと製品を比較検討し進めましょう。
sftpコマンドとクライアントソフトの使い方
SFTPを使うには、接続先となるSFTPサーバと、接続する側のクライアントが必要です。コマンドを入力して操作する方法と、画面上の操作で扱えるソフトを使う方法があります。基本的な使い方を見ていきましょう。どちらの方法でも、接続先のホスト名やユーザー名などの情報を事前に確認しておく必要があります。
sftpコマンドで接続する基本操作
macOSやLinuxでは、ターミナルで「sftp ユーザー名@接続先」と入力すると接続できます。近年のWindows 10やWindows 11でもOpenSSHクライアントを利用でき、同じコマンドが使えます。ポート番号を22番から変えているサーバに接続する場合は、「sftp -P 2222 ユーザー名@接続先」のように「-P」オプションで番号を指定します。
接続後は、専用のコマンドでファイルを操作します。「put」でファイルをアップロードし、「get」でダウンロードするのが基本です。「ls」でサーバ側の一覧を表示し、「cd」でフォルダを移動します。手元のパソコン側を操作する「lls」や「lcd」もあり、作業が終わったら「exit」で切断します。
GUIソフトの活用とSFTPサーバの準備
コマンド操作に慣れていない場合は、画面上でファイルをドラッグ&ドロップできるクライアントソフトが便利です。WinSCPやFileZilla、Cyberduckなどが代表例で、接続先のホスト名やユーザー名、ポート番号を登録するだけで利用できます。複数の接続先を保存しておけるため、日常的な受け渡し作業の効率も上がります。
受け取る側となるSFTPサーバは、LinuxなどのサーバにOpenSSHを導入して構築するのが一般的です。SSHのサーバが動いていれば、標準の設定でSFTPも利用できる場合が多くあります。自社でサーバを持たずに済むクラウド型のサービスもあり、運用の手間や求める管理機能にあわせて選べます。サーバを公開する際は、次に説明する設定もあわせて見直しましょう。
SFTPを業務で使う際の注意点
SFTPは通信を暗号化できる方式ですが、使うだけで安全が保証されるわけではありません。設定の不備や管理の甘さがあれば、情報漏えいにつながります。業務で使う際に押さえておきたい点を解説します。導入後も継続して見直すことが大切です。
ホスト鍵の確認とアクセス範囲の制限
初めてサーバに接続すると、サーバの「ホスト鍵」のフィンガープリント(指紋のような識別値)を確認するメッセージが表示されます。これは、接続先が本物のサーバかどうかを確かめるための仕組みです。内容を確認せずに承認するとなりすましに気付けないため、事前に管理者から正しい値を受け取って照合しましょう。
サーバ側では、利用者が見られる範囲を必要最小限にすることも重要です。OpenSSHでは「ChrootDirectory」の設定により、利用者を特定のフォルダより上の階層へ移動できないよう制限できます。作業に必要な権限だけを付与すれば、誤操作や不正利用による被害を抑えられます。取引先ごとにアカウントとフォルダを分け、不要になったアカウントは速やかに無効化しましょう。
運用ルールと管理の仕組みを整える
取引先とのデータ受け渡しが増えると、誰がいつどのファイルを送受信したかを把握しにくくなります。問題が起きた際に原因を追えるよう、ログを保存して定期的に確認する運用が欠かせません。接続元や日時、操作したファイル名などを記録しておくと、調査に役立ちます。あわせて、秘密鍵やパスワードの受け渡し方法、ソフトの更新手順も社内ルールとして決めておきましょう。
接続先が多い企業では、SFTPを含む複数の転送方式をまとめて管理できるMFT(マネージドファイル転送)製品を使う方法もあります。転送の自動化や操作履歴の記録を一元化でき、担当者ごとの属人的な運用を減らせます。自社の転送件数や管理体制に照らして、SFTPを単体で使うか管理製品と組み合わせるかを検討するとよいでしょう。
SFTP運用とあわせて検討したいファイル転送製品
取引先とのファイル受け渡しを記録や承認で管理しやすくするサービスと、SFTPでの接続に対応したクライアントソフトを取り上げます。
クリプト便
- 脱PPAP等、取引先と安全にファイルのやり取りを行いたい企業
- USB運用を廃止、大容量ファイルの受け渡しをサービス上で実現
- Webブラウザとインターネット環境だけでファイル送受信が可能
NRIセキュアテクノロジーズ株式会社が提供する「クリプト便」は、インターネット経由で安全にファイルをやり取りするためのサービスです。メールのような操作での送受信に加え、共有フォルダの感覚で複数人が使えるファイル共有機能も備えています。送受信の履歴を残すログ機能や、事前承認・事後承認の承認機能、IPアドレス制限などにより、受け渡しを管理しやすい点が特徴です。オプションのオートパイロットを使うと、CLIクライアントによるファイルの自動送受信も行えます。
Transmit5 (Panic Inc.)
- Panic Syncで設定情報をセキュアにデバイス間同期
- マルチスレッドで複雑なフォルダ転送が高速化
- 強力かつ柔軟なファイル名変更
まとめ
SFTPは、SSHの暗号化された通信を土台に、ファイルの送受信や管理を行うプロトコルです。標準では22番ポートを使い、暗号化されないFTPや、FTPを暗号化したFTPSとは仕組みが異なります。認証にはパスワード認証と、より安全性の高い公開鍵認証があり、コマンドやGUIソフトで利用できます。ホスト鍵の確認や権限の制限、ログ管理も徹底し、安全なファイル転送を実現しましょう。

