ファイル転送 · 1 min read · Nov 07, 2025
OpenSSHを使用したファイルアップロードのためのFTP^H^H^H SFTPの急速な設定
OpenSSHを使用したファイルアップロードのためのFTP^H^H^H SFTPの急速な設定
安全なファイル転送はあまり注目されないが、これはおそらく簡単すぎるからだ。特別なプログラムやクライアントを必要とせずに安全なファイル転送を行うには、OpenSSHサーバーがインストールされて稼働しているだけで十分だ。ログインできるアカウントには、組み込みのSFTPサブシステムが利用可能である。言い換えれば、基本的なSFTPアクセスには、SSHを介してアクセス可能なアカウントを持つ以外に何もする必要はない。
再度言うが、基本的なSFTPのアップロードとダウンロードには、デフォルトのOpenSSHインストールで変更する必要はない。すでにそこにあり、使用する準備が整っている。
複雑さを追加する - シェルアクセスのないSFTPアカウント
シェルアクセスを削除しながらSFTPアクセスを許可するのは、OpenSSHサーバーがすでにインストールされていれば、3つのステップで簡単に行える。
- ユーザーグループを作成する(例:sftponly)
- そのグループにユーザーを追加する
- /etc/ssh/sshd_configのsshdの設定に対応するMatchディレクティブを追加する:
Subsystem sftp internal-sftp Match Group sftponly AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
さらなる複雑さ - シェルアクセスのないchrootされたSFTPアカウント
SFTPユーザーのホームディレクトリのchroot監獄を作成するのも、OpenSSHで簡単に設定できる。
- ユーザーグループを作成する(例:sftponly)
- そのグループにユーザーを追加する
- /etc/ssh/sshd_configのsshdの設定に対応するMatchディレクティブを追加する:
Subsystem sftp internal-sftp Match Group sftponly ChrootDirectory %h AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
それはそれほど簡単だ。
FTPとFTPSにさよならを言う時
「FTP」という名前は、特別なクライアントを使用したファイル転送を意味するためにしばしば誤用される。しかし、それは特定のプロトコルである。
通常のFTPは安全ではない。セッション全体が、最初のユーザー名とパスワードから、最後のデータ転送まで、暗号化なしで行われる。そのため、それを使用するすべてのアカウントは侵害されたと見なすことができる。安全でないのはプロトコル自体である。FTPは特別なサーバーソフトウェアの追加と設定を必要とするが、ほとんどのサーバーは通常SSHを持っており、したがってSFTPが稼働している。
SSL/TLSを介してトンネルされたFTPはFTPSである。それに対して、SFTPは安全なファイル転送のためにゼロから設計された新しいプロトコルである。FTPSはFTPよりもさらに多くの設定を必要とするが、SFTPはOpenSSHサーバーがあるところではすぐに使用できる。
結論
追加の努力なしに、SFTPはすでにOpenSSHサーバーが稼働しているところで利用可能である。最小限の変更で、SFTPユーザーのシェルアクセスをオフにし、さらにはchroot化することもできる。
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。