FTPとSFTPは、リモートサーバーまたはローカルサーバーからファイルをダウンロードしたり、サーバーにファイルをアップロードしたりするための優れたプロトコルです。状況によってはFTPで十分ですが、インターネット経由の接続にはSFTPをお勧めします。つまり、資格情報とデータは暗号化なしで送信されるため、FTPをインターネット接続で使用するのは安全ではありません。 SFTPの「S」は「Secure」の略で、SSHを介してFTPプロトコルをトンネリングし、安全な接続を確立するために必要な暗号化を提供します。
このガイドでは、VSFTPソフトウェアを介してFTPサーバーをセットアップする手順、またはAlmaLinuxのOpenSSHを介してSFTPサーバーをセットアップする手順について説明します。次に、クライアントのAlmaLinuxシステムからサーバーに接続する方法を説明します。 FTP / SFTPのセットアップは、AlmaLinuxをインストールした後、またはCentOSからAlmaLinuxに移行した後の一般的な手順です。
このチュートリアルでは、次のことを学びます。
- VSFTPDを介してFTPサーバーをセットアップする方法
- OpenSSHを介してSFTPサーバーをセットアップする方法
- FTPおよびSFTPユーザーアカウントを設定する方法
- firewalldを介してFTPとSFTPを許可する方法
- コマンドラインを介してFTP/SFTPサーバーに接続する方法
- GNOMEGUIを介してFTP/SFTPサーバーに接続する方法
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
システム | AlmaLinux |
ソフトウェア | VSFTPD、OpenSSH |
その他 | rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 |
コンベンション | # –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
VSFTPDを介してFTPサーバーをセットアップする
FTPサーバーのセットアップに使用できるさまざまなソフトウェアパッケージがありますが、最も優れたものの1つはVSFTPDです。このセクションでは、AlmaLinuxでFTPサーバーをセットアップするためにVSFTPDをインストールおよび構成する方法を示します。 FTPがシナリオに対して十分に安全であり、SFTPをセットアップしたい場合は、下の適切なセクションまでスクロールダウンしてください。
VSFTPDのインストール
ターミナルに次のコマンドを入力して、システムにVSFTPDをインストールします。
$ sudo dnf install vsftpd
FSFTPDサーバーの構成
- 後で問題が発生した場合に備えて、元の構成ファイルのバックアップコピーを保持することを常にお勧めします。デフォルトの設定ファイルの名前を変更しましょう:
$ sudo mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
- nanoまたは任意のテキストエディタを使用して、新しいVSFTPD構成ファイルを作成します。
$ sudo nano /etc/vsftpd/vsftpd.conf
- 次の基本構成をファイルにコピーします。この構成は基本的なFTPサーバーには十分であり、これが正しく機能していることを確認したら、後で環境の特定のニーズに合わせて調整できます。
anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES
上記の行を新しく作成した
/etc/vsftpd/vsftpd.conf
に貼り付けます ファイルを作成し、変更を保存してファイルを閉じます。 - AlmaLinuxのデフォルトのファイアウォール(firewalld)はデフォルトでFTPトラフィックをブロックしますが、次のコマンドはトラフィックを許可するための例外を作成します:
$ sudo firewall-cmd --zone=public --add-service=ftp --permanent $ sudo firewall-cmd --reload
- 構成ファイルを保存し、ファイアウォールルールを更新したら、VSFTPDを再起動して、新しい変更を適用します。
$ sudo systemctl restart vsftpd
FTPユーザーを作成する
FTPサーバーは着信接続を受信する準備ができているので、FTPサービスへの接続に使用する新しいユーザーアカウントを作成します。
- この最初のコマンドを使用して、
ftpuser
という新しいアカウントを作成します 、およびアカウントのパスワードを設定する2番目のコマンド:$ sudo useradd -m ftpuser $ sudo passwd ftpuser New password: Retype new password: passwd: password updated successfully
- すべてが正しく機能していることを確認するには、少なくとも1つのファイルを
ftpuser
に保存する必要があります。 のホームディレクトリ。このファイルは、次の手順でFTPにログインしたときに表示されるはずです。$ sudo bash -c "echo FTP TESTING > /home/ftpuser/FTP-TEST"
コマンドライン経由でFTPサーバーに接続
次のコマンドを使用してFTPコマンドラインユーティリティをインストールします。
$ sudo dnf install ftp
これで、IPアドレスまたはホスト名のいずれかでFTPサーバーに接続できるようになります。コマンドラインから接続してすべてが機能していることを確認するには、ターミナルを開いてAlmaLinuxのftp
を使用します ループバックアドレス(127.0.0.1)に接続するコマンド。
$ ftp 127.0.0.1 Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 3.0.3) Name (127.0.0.1:root): ftpuser 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> ls 227 Entering Passive Mode (127,0,0,1,71,72). 150 Here comes the directory listing. -rw-r--r-- 1 0 0 12 Apr 03 01:11 FTP-TEST 226 Directory send OK. ftp>
出力は上記のテキストのようになり、ログインが成功し、ls
であることを示します。 以前に作成したテストファイルを表示するコマンド。
GNOMEGUIを介してFTPサーバーに接続する
必要に応じて、GUIを使用してFTPサーバーに接続することもできます。 FTPクライアントには多くのオプションがありますが、AlmaLinuxのデフォルトのGNOME GUIには、ファイルマネージャーからFTPサーバーに接続する機能がすでに備わっています。これを使用してFTPサーバーに接続する方法は次のとおりです。
- [アクティビティ]メニューからファイルマネージャを開きます。
- 「その他の場所」をクリックして、
ftp://127.0.0.1
と入力します。 ウィンドウの下部にある[サーバーに接続]ボックスで、[接続]をクリックします。 GNOMEファイルマネージャーでFTPサーバーに接続する - 前に設定したFTPアカウントのクレデンシャルを入力し、[接続]をクリックします。 FTPユーザー名とパスワードを入力してください
- 接続が成功すると、前に作成したテストファイルが表示されます。 FTPサーバーへの正常な接続
OpenSSHを介してSFTPサーバーをセットアップする
すでにOpenSSHがインストールされてAlmaLinuxで有効になっている場合は、SFTPサーバーを実行するために追加のソフトウェアは必要ありません。以下の手順に従って、システムをSFTPサーバーに変える適切な構成編集を行ってください。
OpenSSHのインストールと構成
- まだインストールされていない場合は、次のコマンドを使用してOpenSSHをインストールします。
$ sudo dnf install openssh-server openssh-clients
- SSHをインストールしたら、SSHD構成ファイルにいくつかの変更を加える必要があります。 nanoまたはお気に入りのテキストエディタを使用して開きます:
$ sudo nano /etc/ssh/sshd_config
- ファイルの一番下までスクロールし、最後に次の5行を追加します。
Match group sftp ChrootDirectory /home X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp
上記の行は、
sftp
のユーザーを許可します グループはSFTP経由でホームディレクトリにアクセスしますが、通常のSSHアクセスを拒否するため、シェルにアクセスすることはできません。これらの行を貼り付けたら、構成ファイルを保存して閉じます。 - これらの新しい変更を有効にするためにSSHサービスを再起動します:
$ sudo systemctl restart sshd
- AlmaLinuxのデフォルトのファイアウォール(firewalld)はデフォルトでSFTP / SSHトラフィックをブロックしますが、次のコマンドはトラフィックを許可するための例外を作成します:
$ sudo firewall-cmd --zone=public --add-service=ssh --permanent $ sudo firewall-cmd --reload
SFTPユーザーアカウントを作成する
次に、SFTPアクセスを許可するユーザーのユーザーアカウントを作成する必要があります。
-
sftp
という名前の新しいユーザーグループを作成します 。すべてのSFTPユーザーはこのグループに属している必要があります。$ sudo groupadd sftp
- 次に、新しいユーザーを作成します。単に
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:VI1OabYHoVZyVtKtDwX5HflcFpBW2txOpdBAqLtP1K8. 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 [email protected]. sftp>
- ユーザーのホームディレクトリに移動します。これは、ユーザーのホームディレクトリが権限を持っている唯一の場所だからです。ここで、新しいディレクトリを作成して、すべてが意図したとおりに機能していることを確認してください。
sftp> cd sftpuser sftp> mkdir sftp-test sftp> ls sftp-test sftp>
GNOMEGUIを介してSFTPサーバーに接続する
必要に応じて、GUIを使用してSFTPサーバーに接続することもできます。 SFTPクライアントには多くのオプションがありますが、AlmaLinuxのデフォルトのGNOME GUIには、ファイルマネージャーからSFTPサーバーに接続する機能がすでに備わっています。これを使用してSFTPサーバーに接続する方法は次のとおりです。
- [アクティビティ]メニューからファイルマネージャを開きます。
- 「その他の場所」をクリックして、
sftp://127.0.0.1
と入力します。 ウィンドウの下部にある[サーバーに接続]ボックスで、[接続]をクリックします。 GNOMEファイルマネージャーでSFTPサーバーに接続する - 前に設定したSFTPアカウントのクレデンシャルを入力し、[接続]をクリックします。 SFTPのユーザー名とパスワードを入力します
- 接続が成功すると、ファイルをアップロードおよびダウンロードできるホームディレクトリを開くことができます。 SFTPサーバーへの正常な接続
まとめ
このガイドでは、AlmaLinuxでFTPまたはSFTPサーバーを作成する方法を学びました。また、コマンドラインまたはGNOMEGUIを介してFTP/SFTPサーバーに接続する方法も確認しました。この機能は、それぞれFTPまたはSFTPをホストできるVSFTPDおよびOpenSSHを介して実現できました。