Mac、iPhone、iPad

アップル製品の悩み解決!

MacのターミナルでFTPが廃止、High SierraからはSFTPで。

   

MacOSのHigh Sierraからは、セキュリティ強化のため、FTPが廃止されました。

MacのFTP、なぜ廃止されたの?

FTP、File Transfer Protocol

FTPとは、ファイルを転送するプロトコルです。
Macのターミナルのftpコマンドとして使用し、サーバーとMacの間のファイル転送に、昔から使われていました。

しかし、FTPは暗号化されていないので、セキュリティ上の弱点があります。

そのため、2017年の9月にリリースされた、MacOSハイシエラから、ターミナルでのFTPコマンドが廃止されました。
High Sierraは、macOSのバージョン10.13です。
MacでFTPがサポートされていたのは、macOSのバージョン10.12のSierraまでとなります。

アップルHPのサポートコミュニティでも、セキュリティ上の理由で、ターミナルでFTPコマンドが廃止されたと、アップルから公式に回答されています。

私は、サーバーにちょっとしたファイルをアップロードするのに、FTPを使っていました。
しかし、OSアップデート後に、ターミナルでFTPと入力しても、
「-bash: ftp: command not found」
となるので、ちょっと焦りました。

macOSインストールのトラブルで、FTPコマンドが効かなくなったのかと、最初は思いました。

いろいろ調べてみると、FTPコマンドは、ひっそりとサポートが終了し、廃止されていたんです。

SFTPとは?、macOSに標準装備

FTPのセキュリティが強化版がSFTP、macOSに標準装備されています。
SFTP、SSH File Transfer Protocol

SFTPとは、SSHで暗号化されたFTPです。

SFTPは、暗号化されているFTPなので、単なるFTPと比べるとセキュリティが高まっています。

MacOSのHigh Sierraからは、ターミナルで、このSFTPを、FTPの代わりに使うことになります。

サーバーもSFTP対応が必要

MacだけがSFTP対応じゃダメ。

SFTPは、端末とサーバーの両方がSFTPに対応していないと使えません。

Macのターミナルは、SFTPをサポートしていますが、サーバー側がSFTPをサポートしていない場合は、接続できないのです。

ほとんどのサーバーでは、SFTPをサポートしているので、まず心配ありませんが、一部のサーバーでは、もう一つの暗号化方式のFTPSだけをサポートして、SFTPに対応していない場合もあります。

FTPS、もう1つの暗号化FTP

暗号化されたFTPには、SFTPの他にも、FTPSがあります。
FTPS、File Transfer Protocol over SSL/TLS

FTPSとは、SSL/TLSで暗号化されたFTPです。

このFTPSは、暗号化の方式はSFTPと違いますが、ほぼ同じ機能のプロトコルです。

しかし、macOSハイシエラのターミナルでは、FTPSのコマンドはサポートされていないため、使えません。

もし、サーバー側がSFTPをサポートしてなくて、FTPSだけのサポートの場合には、是非とも使いたいコマンドです。

FTPSは、MacOSのバージョンアップで追加して欲しい機能です。

FTPとSFTP、使い方の違いは?

基本のコマンドは同じで、サーバー接続が、ちょっと違うだけ。

FTPでも、SFTPでも、基本的なコマンドは、同じです。

SFTPでは、Mac のターミナルで「sftp」とコマンドを打ち込みます。
同時にその時、接続先のサーバー名と、ユーザー名を指定します。

「sftp ユーザー名@サーバー名」

以前のftpでは、ftpと打ち込んだ後に、openコマンドでサーバー名とユーザー名を指定していました。

sftpでは、最初にユーザーとホストサーバーをまとめて入力します。

ターミナルでsftpと打ち込めば、ヘルプを返してくれます。
英語ですが、読めばなんとなく使い方がわかると思います。

サーバーに接続すると、パスワードの入力が求められます。

>sftpと表示されれば、ログイン成功です。
ここまでの接続が、FTPとSFTPでは、ちょっと違うだけ。
サーバーに接続した後は、使い方は同じです。

コマンド 内容
pwd サーバーの、現在のディレクトリのパスを表示
ls サーバーの、現在のディレクトリのファイル一覧を表示
cd サーバーの、ディレクトリの移動
rm サーバーの、指定ファイルを削除
lpwd パソコンの、現在のディレクトリのパスを表示
lls パソコンの、現在のディレクトリのファイル一覧を表示
lcd パソコンの、ディレクトリの移動
put パソコンにある指定ファイルを、アップロード
(パソコンからサーバーへ)
get サーバーにある指定ファイルを、ダウンロード
(サーバーからパソコンへ)
bye sftpを終了し、サーバーと切断

ローカルのパソコン側の操作には、小文字のLの「l」が付きます。

まとめ、MacのFTPがSFTPに変更

これからMacのターミナルではSFTPを使います。
  • High Sierraからは、FTPが廃止された。
  • FTP廃止の理由は、セキュリティ向上のため。
  • 暗号化されたSFTPが標準装備されている。
  • ターミナルでFTPの代用は、SFTPになる。
  • 暗号化されたFTPSのサポートはない。
  • SFTPの使い方は、基本的にFTPと同じ。

これまでも、サーバー側が、暗号化されていないFTPのサポートを打ち切って来ていました。

Macのターミナルでも、正式にFTPのサポートを打ち切ったことで、今後はセキュリティが高いファイル転送が行えます。

ついつい、普通のFTPコマンドを使っちゃってた、私のようなタイプの人でも、この機会にセキュリティが強化され安心です。

 - Mac