このガイドでは、Ubuntu 20.04FocalFossaでVSFTPDを使用してSFTPサーバーをセットアップする方法を示します。まだ行っていない場合は、Ubuntu 20.04 Focal FossaでVSFTPDを使用してFTPサーバーをセットアップする方法に関するチュートリアルを確認してください。SFTPに関するこの記事では、FTPガイドに記載されている構成を適用していることを前提としています。
FTPはファイルにアクセスして転送するための優れたプロトコルですが、クリアテキストプロトコルであるという欠点があります。つまり、クレデンシャルとデータは暗号化なしで送信されるため、インターネット接続を介して使用することは安全ではありません。 SFTPの「S」は「Secure」の略で、SSHを介してFTPプロトコルをトンネリングし、安全な接続を確立するために必要な暗号化を提供します。
このチュートリアルでは、次のことを学びます。
- SSHデーモンをインストールして構成する方法
- SFTPユーザーアカウントとグループを設定する方法
- コマンドラインからSFTPサーバーに接続する方法
- コマンドラインからSFTPサーバーに接続する方法
Ubuntu20.04でSFTPサーバーをセットアップする方法FocalFossaLinux
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
インストールまたはアップグレードされたUbuntu20.04Focal Fossa | |
VSFTPD、SSHデーモン | |
| |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
SSHデーモンの構成
- SFTPにはSSHが必要なため、SSHサーバーがシステムにまだインストールされていない場合は、次のコマンドを使用してインストールします。
$ sudo apt install ssh
- SSHをインストールしたら、SSHD構成ファイルにいくつかの変更を加える必要があります。 nanoまたはお気に入りのテキストエディタを使用して開きます:
$ sudo nano /etc/ssh/sshd_config
- ファイルの一番下までスクロールし、最後に次の5行を追加します。
SSH構成ファイルMatch group sftp ChrootDirectory /home X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
上記の行は、
sftp
のユーザーを許可します グループはSFTP経由でホームディレクトリにアクセスしますが、通常のSSHアクセスを拒否するため、シェルにアクセスすることはできません。これらの行を貼り付けたら、構成ファイルを保存して閉じます。 - これらの新しい変更を有効にするためにSSHサービスを再起動します:
$ sudo systemctl restart ssh
SFTPユーザーアカウントを作成する
次に、SFTPアクセスを許可するユーザーのユーザーアカウントを作成する必要があります。
-
sftp
という名前の新しいユーザーグループを作成します 。すべてのSFTPユーザーはこのグループに属している必要があります。$ sudo addgroup sftp Adding group `sftp' (GID 1002) ... Done.
- 次に、新しいユーザーを作成します。単に
sftpuser
と呼びます この例では。また、必ずこのユーザーをsftp
に追加してください group。$ 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 [email protected] 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. [email protected]'s password: Connected to 127.0.0.1. sftp>
- ユーザーのホームディレクトリに移動します。これは、ユーザーのホームディレクトリが権限を持っている唯一の場所だからです。ここで、新しいディレクトリを作成して、すべてが意図したとおりに機能していることを確認してください。
sftp> cd sftpuser sftp> mkdir sftp-test sftp> ls sftp-test sftp>
GUIを使用してSFTPにログイン
GUIアプリケーションを使用してSFTPサーバーに接続する場合は、さまざまなオプションを利用できます。お好みのSFTPクライアントまたはデフォルトでUbuntuに組み込まれているNautilusファイルマネージャーを使用できます。
- [アプリケーション]メニューからNautilusファイルマネージャーを開きます。
- 「その他の場所」をクリックして、
sftp://127.0.0.1
と入力します。 ウィンドウの下部にある[サーバーに接続]ボックスで、[接続]をクリックします。 Nautilusを使用してSFTPサーバーに接続します - 前に設定したSFTPアカウントのクレデンシャルを入力し、[接続]をクリックします。 接続するSFTPアカウントのクレデンシャルを入力します
- 接続が成功すると、ホームディレクトリを開いて、前に作成したテストディレクトリを表示できるようになります。 SFTPサーバーへの正常な接続
結論
FTPサーバーの記事では、VSFTPDを使用してUbuntu 20.04FocalFossaでFTPサーバーを作成する方法を説明しました。また、コマンドラインとUbuntuGUIを使用してFTPサーバーに接続する方法についても説明しました。
この記事では、システムにSFTPを設定してFTPプロトコルを保護する方法を説明しました。このガイドの手順に従うことで、ローカルネットワーク上またはインターネット経由のコンピューターがシステムに安全にアクセスして、コマンドラインまたは優先SFTPクライアントを介してファイルを保存および取得できます。