GNU/Linux >> Linux の 問題 >  >> AlmaLinux

AlmaLinuxでFTP/SFTPサーバーとクライアントをセットアップする方法

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でFTP/SFTPサーバーをセットアップする方法

ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
システム 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サーバーの構成

  1. 後で問題が発生した場合に備えて、元の構成ファイルのバックアップコピーを保持することを常にお勧めします。デフォルトの設定ファイルの名前を変更しましょう:
    $ sudo mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_orig
    
  2. nanoまたは任意のテキストエディタを使用して、新しいVSFTPD構成ファイルを作成します。
    $ sudo nano /etc/vsftpd/vsftpd.conf
    
  3. 次の基本構成をファイルにコピーします。この構成は基本的な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に貼り付けます ファイルを作成し、変更を保存してファイルを閉じます。

  4. AlmaLinuxのデフォルトのファイアウォール(firewalld)はデフォルトでFTPトラフィックをブロックしますが、次のコマンドはトラフィックを許可するための例外を作成します:
    $ sudo firewall-cmd --zone=public --add-service=ftp --permanent
    $ sudo firewall-cmd --reload
    
  5. 構成ファイルを保存し、ファイアウォールルールを更新したら、VSFTPDを再起動して、新しい変更を適用します。
    $ sudo systemctl restart vsftpd
    

FTPユーザーを作成する

FTPサーバーは着信接続を受信する準備ができているので、FTPサービスへの接続に使用する新しいユーザーアカウントを作成します。

  1. この最初のコマンドを使用して、ftpuserという新しいアカウントを作成します 、およびアカウントのパスワードを設定する2番目のコマンド:
    $ sudo useradd -m ftpuser
    $ sudo passwd ftpuser
    New password: 
    Retype new password: 
    passwd: password updated successfully
    
  2. すべてが正しく機能していることを確認するには、少なくとも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サーバーに接続する方法は次のとおりです。

  1. [アクティビティ]メニューからファイルマネージャを開きます。
  2. 「その他の場所」をクリックして、ftp://127.0.0.1と入力します。 ウィンドウの下部にある[サーバーに接続]ボックスで、[接続]をクリックします。
  3. GNOMEファイルマネージャーでFTPサーバーに接続する
  4. 前に設定したFTPアカウントのクレデンシャルを入力し、[接続]をクリックします。
  5. FTPユーザー名とパスワードを入力してください
  6. 接続が成功すると、前に作成したテストファイルが表示されます。
  7. FTPサーバーへの正常な接続

OpenSSHを介してSFTPサーバーをセットアップする

すでにOpenSSHがインストールされてAlmaLinuxで有効になっている場合は、SFTPサーバーを実行するために追加のソフトウェアは必要ありません。以下の手順に従って、システムをSFTPサーバーに変える適切な構成編集を行ってください。

OpenSSHのインストールと構成

  1. まだインストールされていない場合は、次のコマンドを使用してOpenSSHをインストールします。
    $ sudo dnf install openssh-server openssh-clients
    
  2. SSHをインストールしたら、SSHD構成ファイルにいくつかの変更を加える必要があります。 nanoまたはお気に入りのテキストエディタを使用して開きます:
    $ sudo nano /etc/ssh/sshd_config
    
  3. ファイルの一番下までスクロールし、最後に次の5行を追加します。
    Match group sftp
    ChrootDirectory /home
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp
    

    上記の行は、sftpのユーザーを許可します グループはSFTP経由でホームディレクトリにアクセスしますが、通常のSSHアクセスを拒否するため、シェルにアクセスすることはできません。これらの行を貼り付けたら、構成ファイルを保存して閉じます。

  4. これらの新しい変更を有効にするためにSSHサービスを再起動します:
    $ sudo systemctl restart sshd
    
  5. AlmaLinuxのデフォルトのファイアウォール(firewalld)はデフォルトでSFTP / SSHトラフィックをブロックしますが、次のコマンドはトラフィックを許可するための例外を作成します:
    $ sudo firewall-cmd --zone=public --add-service=ssh --permanent
    $ sudo firewall-cmd --reload
    

SFTPユーザーアカウントを作成する

次に、SFTPアクセスを許可するユーザーのユーザーアカウントを作成する必要があります。

  1. sftpという名前の新しいユーザーグループを作成します 。すべてのSFTPユーザーはこのグループに属している必要があります。
    $ sudo groupadd sftp
    
  2. 次に、新しいユーザーを作成します。単にsftpuserと呼びます この例では。また、必ずこのユーザーをsftpに追加してください group。
    $ sudo useradd -m sftpuser -g sftp
    
  3. 新しく作成されたsftpuserのパスワードを設定します:
    $ sudo passwd sftpuser
    New password: 
    Retype new password: 
    passwd: password updated successfully
    
  4. 最後に、自分のホームディレクトリのユーザーにフルアクセスを許可しますが、システム上の他のすべてのユーザーのディレクトリへのアクセスを拒否します。
    $ sudo chmod 700 /home/sftpuser/
    

SFTP構成が完了しました。これで、ログインしてすべてが正しく機能していることを確認できます。

コマンドラインからSFTPサーバーに接続する

システムのホスト名またはIPアドレスを使用してSFTP経由でログインできます。 SFTPを構成したシステムと同じシステムからテストするには、ループバックアドレスに接続します

127.0.0.1

正常に動作します。

  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>
    
  2. ユーザーのホームディレクトリに移動します。これは、ユーザーのホームディレクトリが権限を持っている唯一の場所だからです。ここで、新しいディレクトリを作成して、すべてが意図したとおりに機能していることを確認してください。
    sftp> cd sftpuser
    sftp> mkdir sftp-test
    sftp> ls
    sftp-test          
    sftp>
    

GNOMEGUIを介してSFTPサーバーに接続する

必要に応じて、GUIを使用してSFTPサーバーに接続することもできます。 SFTPクライアントには多くのオプションがありますが、AlmaLinuxのデフォルトのGNOME GUIには、ファイルマネージャーからSFTPサーバーに接続する機能がすでに備わっています。これを使用してSFTPサーバーに接続する方法は次のとおりです。

  1. [アクティビティ]メニューからファイルマネージャを開きます。
  2. 「その他の場所」をクリックして、sftp://127.0.0.1と入力します。 ウィンドウの下部にある[サーバーに接続]ボックスで、[接続]をクリックします。
  3. GNOMEファイルマネージャーでSFTPサーバーに接続する
  4. 前に設定したSFTPアカウントのクレデンシャルを入力し、[接続]をクリックします。
  5. SFTPのユーザー名とパスワードを入力します
  6. 接続が成功すると、ファイルをアップロードおよびダウンロードできるホームディレクトリを開くことができます。
  7. SFTPサーバーへの正常な接続

まとめ

このガイドでは、AlmaLinuxでFTPまたはSFTPサーバーを作成する方法を学びました。また、コマンドラインまたはGNOMEGUIを介してFTP/SFTPサーバーに接続する方法も確認しました。この機能は、それぞれFTPまたはSFTPをホストできるVSFTPDおよびOpenSSHを介して実現できました。


AlmaLinux
  1. Debian 9StretchLinuxでNTPサーバーとクライアントをセットアップする方法

  2. CentOSでSFTPサーバーをセットアップする方法

  3. YPServ Linux NIS サーバーおよびクライアントをセットアップおよび構成する方法

  1. AlmaLinuxでSambaサーバーとクライアントをセットアップする方法

  2. AlmaLinuxでNTPサーバーとクライアントを構成する方法

  3. UbuntuLinuxでFTPサーバーをセットアップして使用する方法

  1. Ubuntu20.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  2. Ubuntu18.04でVSFTPDを使用してFTPサーバーをセットアップする方法

  3. CentOS7でVSFTPDを使用してFTPサーバーをセットアップする方法