VPS

VPSでFTPが使えないときはSFTPを使おう

投稿日:2018年3月10日 更新日:

VPSを初めて使う場合、FTPが使えなくて困惑することがあるかもしれません。

VPSサーバーにはFTPが入っていない

一般的なレンタルサーバーなどではFTP(FTPS)が使える状態になっていて、それを使うことを推奨しています。しかしVPSでLinuxを標準インストールするとFTPは入っていないことがほとんどです。

自分でFTPサーバーをインストールすれば使えるのですが、インストールや設定方法を調べたり動作を確認したりするのは面倒ですよね。またFTPプロトコル自体、通信が暗号化されないため、インターネットで使用すること自体をおすすめできません。

そんな場合、わざわざFTPをインストールせずに、標準状態ですぐに使える「SFTP」を使うのがオススメです。

FTP・FTPS・SFTP・SCP?

サーバーへのファイル転送にはいくつかの方法がありますが、よく名前が知られているのはFTPでしょう。

FTPはFile Transfer Protocol(ファイル転送プロトコル)の略で、まさにファイルを転送するために存在する通信プロトコルです。しかしFTPは現在ではほとんど使われません。FTPの最大の問題は、転送されるデータが暗号化されないという点にあります。通信経路でパケットを盗み見されてしまったら、転送しているデータの内容が丸見えになってしまうのです。

そこでデータを暗号化してFTPをできるようにしているのがFTPSです。HTTPを暗号化したのがHTTPSですが、FTPとFTPSも似たような関係になります。平文と暗号化といえば、TelnetとSSHも似たような関係といえますね。

レンタルサーバーなどでFTPという場合はFTPSを指していことがほとんどだと思います。セキュアなFTPSでなく平文のFTPしか使えない場合、そのレンタルサーバーはかなりやばいかもしれないです。

他にもセキュアなデータ転送の方法として、SFTPとSCPというものがあります。SFTPとSCPのメリットは、SSHを使っているのでLinuxの標準の状態で使えるということにあります。わざわざFTPサーバー(vsftpdなど)をインストールしなくても使えます。

SFTPとFTPSって名前が似ていてなにがどう違うの?と疑問に思うかもしれません。たしかにまぎらわしいのですが、SFTPはSSH File Transfer Protocolの略です。

その名が示す通り、SFTPはSSHを使ってFTPを実現しています。

またSCPは Secure Copyの略で、これもSSHを使ってファイルをcpコマンド(コピーコマンド)を実装したようなものです。

いろんな用語が出てきて混乱されたかもしれないので、ここでまとめておきましょう。

暗号化の有無

  • 暗号化されない・・・FTP
  • 暗号化される・・・FTPS,  SFTP, SCP

サーバー側の設定

  • 面倒・・・FTP, FTPS
  • 標準状態で使える・・・SFTP, SCP

クライアント側の設定

  • 全てのプロトコルを使える

SSHであるメリット

SFTPやSCPのメリットはSSHを使っていることにあります。SSHの仕組みに乗っかることで、通信自体はSSHと同じレベルのセキュリティが保たれます。SSHはほぼ全てのサーバーで使われているので実勢も信頼性も抜群です。万が一セキュリティホールが見つかったとしても、ネット上のコミュニティの手によってすぐに対応されます。

またSSHの鍵認証の仕組みなどがそのまま使えるのも大きなメリットです。

クライアント側もそうですが、これは管理側にとっては大きなメリットであるといえるでしょう。

バージョン管理システムのgitなども、いろいろなプロトコルで使えるのですが、やはりSSHを利用したものが多いように思います。

個人的にFileZillaがオススメ

というわけで、VPSなどのサーバーにFTPが入っていなくてもムリにインストールしようとせずSFTPを使いましょう。サーバー側はSSHサーバーが動いていればあとは何も必要ありません。SSHサーバーは何もしなくても最初から使えるので、インストールしたままの状態でそのまま使えます。

僕が個人的に使っているのはFileZilla(無料・オープンソース)というアプリです。SFTPとFTPS(FTPも)の両方に対応しています。

僕はMacで使っていますが使い勝手もよくオススメです。

Windowsの場合WinSCPというプログラムが有名ですが、FileZillaのWindows版もあるのでこちらを試してみてはいかがでしょうか?

https://filezilla-project.org

上のリンクは英語版です。英語版をそのまま使ってしまうのがラクですが、日本語版もこちらから入手できるそうです。

https://ja.osdn.net/projects/filezilla/

コマンドラインツール

また、コマンドライン派の方にはOpenSSHの利用がオススメです。クライアント側のコマンドとしては、 sftp と scp コマンドがついてきます。

scp コマンドはファイルを一つ二つ転送するときや、スクリプトに書くときなどに便利です。

参考記事

WindowsにSSH (OpenSSH)をインストールする方法

VPSをはじめ、リモートにあるサーバーを遠隔で操作するにはsshというものを使います。 MacやLinuxには最初から入っているsshですが、Windowsには入っていないため、インストールする必要が ...

続きを見る

-VPS

Copyright© 技術系のメモ , 2019 All Rights Reserved.