ftp

FTPS、SFTPの違いって?

More than 1 year has passed since last update.

FTPS、SFTPの違いって?

  • FTPS : FTPの通信をSSL/TLSで暗号化 → FTPの拡張
  • SFTP : SSHの通信を使って、FTPを行う → SSHで動作するアプリケーション

FTPについておさらい

ファイルを転送するための通信プロトコル
FileTransferProtocol

コマンドの送受信と、ファイルの送受信で使用するポートが異なる

  • 20 : FTPデータ転送ポート
  • 21 : FTP制御ポート

セキュリティの問題

  • ユーザ名やパスワードが暗号化されていない
  • 通信内容も暗号化されていない
  • 他にも色々セキュリティ的な不具合が多い

なので、通信を暗号化するために出来たのが、FTPSと、SFTP

FTPS

FTPで送受信するデータをSSLまたはTLSで暗号化するプロトコル
File Transfer Protocol over SSL/TLS

SSL/TSLセッションで通信を行う
HTTPSのFTP版とでも言うべき?

RFC

  • RFC 2228 - FTP Security Extensions
  • RFC 4217 - Securing FTP with TLS

使用ポート

  • 989 : FTPデータ転送ポート
  • 990 : FTP制御ポート

SFTP

SSHを介してファイル転送を行うプロトコル
SSH File Transfer Protocol

SSHログインをした後に、FTP風のコマンドでファイルの受け渡しを行う
なので内部的には、最初にSSHで接続を行っている

SSH で接続するので、別途 FTP サーバを建てる必要はなく
OpenSSH ならば、sshd_config に設定を追加するだけで、SFTPサーバとすることができる

RFCは無いの?

SFTPと違ってプロトコルではなく、SSH上で動くアプリケーションにすぎないので、無いらしい
RFC for Sftp?

使用ポート

22(SSH と同じ)

参考

SSL/TSL、SSH については、以下を参照
公開鍵暗号について理解が足りていなかったのでメモ - かせいさんとこ