ファイル転送 · 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つのステップで簡単に行える。

  1. ユーザーグループを作成する(例:sftponly
  2. そのグループにユーザーを追加する
  3. /etc/ssh/sshd_configsshdの設定に対応するMatchディレクティブを追加する:
    Subsystem sftp internal-sftp  
    
    Match Group sftponly  
            AllowTCPForwarding no  
            X11Forwarding no  
            ForceCommand internal-sftp

さらなる複雑さ - シェルアクセスのないchrootされたSFTPアカウント

SFTPユーザーのホームディレクトリのchroot監獄を作成するのも、OpenSSHで簡単に設定できる。

  1. ユーザーグループを作成する(例:sftponly
  2. そのグループにユーザーを追加する
  3. /etc/ssh/sshd_configsshdの設定に対応する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化することもできる。

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。