SFTPとは?仕組み・接続方法・FTPSとの違いまで図解でわかりやすく解説

安全なファイル転送が求められる現代において、「SFTP」という言葉を耳にする機会は増えています。ただし、FTPやFTPSとの違いが曖昧だったり、接続方法がわからなかったりする方も多いのではないでしょうか?この記事では、「SFTPとは何か?」という基本から、仕組み・接続方法・FTPSとの違い、さらにはポート番号・秘密鍵・ファイル転送の流れやシーケンス図まで、図解を交えながらわかりやすく解説していきます。

目次

SFTPとは?

SFTP(SSH File Transfer Protocol)は、SSH(Secure Shell)を基盤とした暗号化通信に対応したファイル転送プロトコルです。FTPとは異なり、通信内容すべてが暗号化されるため、セキュアなファイル送受信を実現できます。

SFTPの図解での仕組み

SFTPは以下のような通信フローで構成されます:

  • クライアントがSFTPサーバーに接続要求を送信
  • SSHセッションが確立される(ポート22)
  • 認証(ID/パスワード、または公開鍵と秘密鍵)
  • ファイル一覧の取得/ファイル転送などの操作
[クライアント] → [SSHで接続] → [SFTPサーバー]
                        ↓
                   [ファイル操作]

SFTPサーバーとは?

SFTPサーバーとは、SSHプロトコル上でSFTP通信を受け付けるサーバーのことを指します。Linuxサーバーであればsshd(SSHデーモン)が稼働していれば、基本的にSFTPも使用可能です。

SFTPとFTPSの違い

FTPSとは?

FTPSは、FTP(File Transfer Protocol)にSSL/TLSによる暗号化を追加した方式です。クライアントとサーバー間の通信は一部暗号化されますが、ポートの種類が多く、ファイアウォールに制限されやすいというデメリットもあります。

違いの比較表

項目SFTPFTPS
基盤SSHFTP + SSL/TLS
ポート番号2221(制御)+20(データ)
ファイアウォール対応◎(1つのポート)△(複数ポート開放が必要)
認証方式パスワード / 秘密鍵パスワード / 証明書
通信内容完全に暗号化部分的に暗号化

SFTPの接続方法

パスワード認証の場合

sftp user@example.com

→ 接続後、パスワードを入力してログイン

秘密鍵認証の場合

  1. 秘密鍵と公開鍵を用意(ssh-keygen
  2. 公開鍵をサーバーの~/.ssh/authorized_keysに配置
  3. 秘密鍵でログイン
sftp -i ~/.ssh/id_rsa user@example.com

GUIクライアントを使う場合

  • WinSCP(Windows)
  • Cyberduck(Mac)

どちらも秘密鍵を使った接続が可能です。

SFTPで使うポート番号

デフォルトではポート番号22番を使用します。SSHと同じポートを利用するため、ファイアウォールで特別な設定を追加する必要がないのが特徴です。

※セキュリティ向上のため、カスタムポートに変更する運用も可能です(例:ポート10022など)。

SFTPでのファイル転送方法

ファイルアップロード

put localfile.txt

→ ローカルのファイルをサーバーへ送信

ファイルダウンロード

get remotefile.txt

→ サーバーのファイルをローカルへ取得

ディレクトリ移動

cd /path/to/directory

ローカル側のディレクトリ変更

lcd /local/path

ファイル一覧表示

ls

SFTP通信のシーケンス図(簡易)

[クライアント] ---接続要求---> [サーバー(ポート22)]
       ↓                         ↓
   鍵認証またはパスワード         SSHセッション確立
       ↓                         ↓
   コマンド送信(put/get等)      応答処理
       ↓                         ↓
   転送完了・セッション終了       ログ記録

このように、接続からファイル転送、セッション終了までが1つのSSHセッション内で完結します。

よくあるトラブルと対処法

「接続できない」場合の原因

  • ポート22が開いていない(ファイアウォール確認)
  • ユーザーがSFTPアクセスを許可されていない
  • 秘密鍵と公開鍵のペアが一致していない

接続後にファイルが見えない

  • chroot設定などで制限されている可能性
  • パーミッションの確認

まとめ|SFTPは安全で扱いやすいファイル転送のスタンダード

  • SFTPはSSHベースの安全なファイル転送プロトコル
  • ポート22のみで通信でき、ファイアウォールとも相性が良い
  • FTPSよりもシンプルで導入しやすい
  • パスワード認証または秘密鍵でのログインが選べる
  • GUIクライアントを使えば初心者でも安心

今後、安全なファイル転送が求められる場面では、SFTPの理解と正しい運用がますます重要になります。

資料ダウンロード

弊社のサービスについて詳しく知りたい方はこちらより
サービスご紹介資料をダウンロードしてください