Ubuntu 20.04 Focal Fossa LinuxにSFTPサーバーを設定する方法
このガイドでは、Ubuntu 20.04 Focal Fossa上でVSFTPDを使用してSFTPサーバーを設定する方法を示します。まだの方は、VSFTPDを使用してUbuntu 20.04 Focal FossaにFTPサーバーを設定する方法に関するチュートリアルをご覧ください。本記事はSFTPについてのものであり、FTPガイドで説明された設定が適用されていることを前提としています。
FTPはファイルにアクセスし転送するのに優れたプロトコルですが、クリアテキストプロトコルであるという短所があります。言い換えれば、インターネット接続上で使用するのは安全ではなく、あなたの認証情報やデータが暗号化されずに送信されるからです。SFTPの「S」は「Secure(安全)」の略で、FTPプロトコルをSSHを通してトンネリングし、安全な接続を確立するために必要な暗号化を提供します。
このチュートリアルでは、あなたは学びます:
- SSHデーモンのインストールと設定方法
- SFTPユーザーアカウントとグループの設定方法
- コマンドラインを介してSFTPサーバーに接続する方法
- コマンドラインを介してSFTPサーバーに接続する方法
Ubuntu 20.04 Focal Fossa LinuxにSFTPサーバーを設定する方法
SSHデーモンを設定する
-
SFTPはSSHを必要とするので、システムにSSHサーバーがまだインストールされていない場合は、次のコマンドでインストールしてください:
sudo apt install ssh SSHがインストールされたら、SSHDの設定ファイルにいくつかの変更を加える必要があります。nanoやお気に入りのテキストエディタを使って開いてください:
sudo nano /etc/ssh/sshd_configファイルの一番下までスクロールし、次の5行を最後に追加してください:
Match group sftp ChrootDirectory /home X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftpSSH構成ファイル
これらの新しい変更を適用するためにSSHサービスを再起動してください:
sudo systemctl restart ssh
上記の行により、sftp グループのユーザーは SFTP を介してホームディレクトリにアクセスできますが、通常の SSH アクセスは拒否されるため、シェルにアクセスすることはできません。これらの行を貼り付けた後、設定ファイルを保存して閉じてください。
SFTPユーザーアカウントを作成する
今、私たちはSFTPアクセスを付与したい人のためにユーザーアカウントを作成する必要があります。
sftpという新しいユーザーグループを作成します。すべてのSFTPユーザーはこのグループに所属する必要があります。sudo addgroup sftp Adding group `sftp' (GID 1002) ... Done.次に、新しいユーザーを作成します。この例では、私たちのユーザーを
と呼びます。また、このユーザーを グループに追加することも忘れないでください。 sudo useradd -m sftpuser -g sftp-
新しく作成した
sftpuserのパスワードを設定してください。sudo passwd sftpuser New password: Retype new password: passwd: password updated successfully 最後に、ユーザー自分のホームディレクトリへの完全なアクセスを許可しますが、システム上の他のユーザーにはそのディレクトリへのアクセスを拒否します:
sudo chmod 700 /home/sftpuser/
私たちのSFTP構成は完了しました。これで、すべてが正常に動作しているか確認するためにログインできます。
コマンドラインを使用してSFTPにログインする
あなたのシステムのホスト名またはIPアドレスを使用してSFTPでログインできます。SFTPを設定したのと同じシステムからテストするには、ループバックアドレス127.0.0.1に接続すれば問題ありません。
ターミナルを開き、
sftpコマンドを使用してログインします:sftp sftpuser@127.0.0.1 The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established. ECDSA key fingerprint is SHA256:9HZflwSB64J+SELGLczOuv3f06gT/3ZaZAOezVZn2XQ. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '127.0.0.1' (ECDSA) to the list of known hosts. sftpuser@127.0.0.1's password: Connected to 127.0.0.1. sftp>ユーザーのホームディレクトリに移動します。そこが唯一権限がある場所です。ここで、新しいディレクトリを作成して、すべてが意図した通りに機能していることを確認してみてください:
sftp> cd sftpuser sftp> mkdir sftp-test sftp> ls sftp-test sftp>
GUIを使用してSFTPにログインする
SFTPサーバーに接続するためにGUIアプリケーションを使用したい場合、選択肢はたくさんあります。お好みのSFTPクライアントや、デフォルトでUbuntuに組み込まれているNautilusファイルマネージャーを使用することができます。
- アプリケーションメニューから Nautilus ファイルマネージャーを開きます。
- 「その他の場所」をクリックし、ウィンドウの下部にある「サーバーに接続」ボックスに
sftp://127.0.0.1を入力して接続をクリックしてください。 - 以前に設定したSFTPアカウントの資格情報を入力し、接続をクリックしてください。
- 接続に成功すると、ホームディレクトリを開いて、以前に作成したテストディレクトリを見ることができるようになります。
NautilusでSFTPサーバーに接続する
接続するためにSFTPアカウントの資格情報を入力してください。
SFTPサーバーへの接続に成功しました
結論
FTPサーバーの記事では、VSFTPDを使用してUbuntu 20.04 Focal FossaにFTPサーバーを作成する方法を見ました。また、コマンドラインとUbuntu GUIを使用してFTPサーバーに接続する方法についても説明しました。
この記事では、システムにSFTPを設定することによってFTPプロトコルをどのように安全にするかを見ました。このガイドの手順に従うことで、ローカルネットワーク上やインターネット経由で、コンピュータがコマンドラインまたは好みのSFTPクライアントを使用して安全にファイルを保存および取得できるようになります。



