結論
ftpでも、ftpsでも、ファイル欠損・欠落の可能性あるので、
データの完全性(ファイルが欠損・欠落しない)、データの安全性(盗聴・不正ログインされない)を満たすなら、
ファイル転送の手段には、
- rsync
- sftp
のいずれかを使うのがいい。使える人はrsyncがいいと思う(多機能!)。
次点で、
- scp
もいいが、
ssh, scp, sftp などのパッケージを含むソフトウェアである OpenSSH ですが, その公式自身が「scp を使うのは非推奨」と宣言していました
ということなので、その点を考慮すべき。
そもそも、ftp、ftps、scp、sftpの違い
ftp
インターネット黎明期(はじまったとき)から存在している4つの中じゃ最も古いもの。
- o カンタン。どのレンサバでも大抵用意されてる
- x 通信が暗号化されない
- ftpのID、パスワードも暗号化されず送信されるので盗聴可能
- x ファイルの完全性の欠如(欠損・欠落の可能性がある)
ftps
ftp の通信をSSL/TLSで暗号化したもの。(httpとhttpsの関係に似てる)
- o 通信が暗号化されてる
- x ファイルの完全性の欠如(欠損・欠落の可能性がある)
- XSERVERなどでデフォルトで用意されてるものはコレ
FTPSには2つの実行モードが存在し、接続実行後にAUTHコマンドによる暗号化通信を実行する「Explicitモード」と、サーバーに接続後に暗号化通信を実行する「Implicitモード」があります。
XSERVERはExplicitモードの方ですな。
「サーバーに接続した後に暗号化」っていう説明が多いので、「FTPSでもユーザーIDとパスワードは平文で送信される?!」って不安になりましたがさすがにそんなことはありません
(ブログ)
scp
SSHベース。
- o カンタン
- o scp、sftp、rsyncの中では、最も速い
- o 通信が暗号化されてる
- o ファイルの完全性が保てる
- と思ったらこんな記事が…
- SCPは転送先に同名ファイルがあるとそのファイルをオープンして転送するため、転送中にアクセスされると中途半端な内容が読み込まれてしまったり、転送を中断した場合転送先のファイルが破損する可能性があるとか(はてぶ)
- ほんとっすか!?sftpもそうなのか?
- 本当にしろ、ftpよりはマシ(๑•̀ㅂ•́)و✧
- ほんとっすか!?sftpもそうなのか?
- SCPは転送先に同名ファイルがあるとそのファイルをオープンして転送するため、転送中にアクセスされると中途半端な内容が読み込まれてしまったり、転送を中断した場合転送先のファイルが破損する可能性があるとか(はてぶ)
- と思ったらこんな記事が…
- ? サーバにUNIX系のシェルが備えられている必要があります(LIG)
- この点はほぼ大丈夫と思う
- x OpenSSHさんに非推奨と宣言された
sftp
SSHベース。
- o 通信が暗号化されてる
- o ファイルの完全性が保てる
- のか?(↑scpと同じなら完全とは言えない?)
- ftpよりはマシ(๑•̀ㅂ•́)و✧
- のか?(↑scpと同じなら完全とは言えない?)
- o OpenSSHさんに非推奨と宣言されてない点は安心
rsyncって?
SSHベース。
あるフォルダと別のフォルダ間で、ファイル(やフォルダ)を同期させるLinuxのコマンド。
リモート先にも同期可能。
- ただし、リモート先にもrsyncがインストールされている必要がある
- 先述した、scpのシェルの事情と違って、こっちは結構可能性ある
ftp、ftps、scp、sftp 達とは毛色がちょっと違う気がしたので分けて書いた。
XSERVERではどうすればええんや?
先述したとおり、XSERVERではftpsをサポートしている。
そのため通信の暗号化の点は問題ない。
今までXSERVERで遭遇したことは無いが、ファイル欠損の可能性はある。
- 通信環境がいいし、マシンのスペックもバケモンだからだと思う
そこを埋めたければSSH機能をONにし、sftpで通信するのがベターだと思う。
自分のパソコンで、ftpsに設定すること自体はそんなに苦じゃないと思うのでコレはやっておこう。
ワシの場合はrsync使いたい派なので、SSHが使える場合は使っちゃうが、モードとか気をつけないと、サイトが見れない!とかが起きちゃう可能性ある。(とりあえずパーミッションは変わるモードで送っちゃうのがいいかな)
その他参考にしたサイト
ftpは欠損するで
FTPもHULFTと同じく、TCP/IPを使用した通信方式なので基本的に転送の信頼性は確保されていますが転送したファイルの完全性、つまり送信側のファイルと受信側のファイルの整合性のチェックまではしません。(HULFT)
ftpsでも欠損するで
FTPS、FTPESなどとは異なり、SSH/SFTPの実装は非常に一貫して相互運用可能です。 SFTP経由でファイルを転送するときに、奇妙で予測できない問題が発生することはほとんどありません。
最近良く見る海外の翻訳してるやつ(でも助かってます)
rsync scp sftpの速度
全ファイル一度にやるんなら、
scp >> rsync > sftp
の順に速い(scpが最速)。(はてぶ)
しかし差分転送もできる分、どれか一つに絞るならrsyncですな。なんかかっこいいし。ドヤァ度が一番高いね。
XSERVERって?
XSERVER
コメント