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コマンドが廃止されたと、アップルから公式に回答されています。
「command not found」
私は、サーバーにちょっとしたファイルをアップロードするのに、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の代わりに使うことになります。
現行の「macOS10.14.Mojave」でも、SFTPを使います。
サーバーも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コマンドを使っちゃってた、私のようなタイプの人でも、この機会にセキュリティが強化され安心です。