GNU/Linux >> Linux の 問題 >  >> Debian

Debian11サーバーでSFTPサーバーをセットアップする方法

ファイル転送プロトコルは、コンピューターネットワーク上のサーバーからクライアントへのコンピューターファイルの転送に使用される標準の通信プロトコルです。

FTPはセキュリティが不足しているため、今日では人気がありません。このプロトコルを使用してファイルを送信すると、データ、ユーザー名、およびパスワードがすべてプレーンテキストで共有されます。つまり、ハッカーはほとんどまたはまったく労力をかけずにこの情報にアクセスできます。データを安全にするには、SFTPなどのアップグレードバージョンのFTPを使用する必要があります。

SFTPセキュアファイル転送プロトコルは、リモートコンピュータへの安全なアクセスを提供して安全な通信を提供するファイル転送プロトコルです。 SSH – Secure Socket Shellを活用しており、「Secure ShellFileTransferProtocol」とも呼ばれます。

関連コンテンツ

  • Pythonスクリプトを使用してSFTPサーバーからファイルをダウンロードする
  • golangを使用してSFTPサーバーからファイルを一覧表示、アップロード、およびダウンロードする
  • OpenSUSELeap15.3サーバーでSFTPサーバーを設定する方法
  • Ubuntu20.04にsftpサーバーをインストールしてセットアップする方法
  • CentOS 8 /RHEL8サーバーでSFTPサーバーをセットアップする方法

前提条件

このガイドに従うには、次のものがあることを確認してください。

  1. Debian11サーバー
  2. サーバーまたはrootアクセス権を持つユーザーへのrootアクセス
  3. サーバーからのインターネットアクセス

目次

  1. サーバーが最新であることを確認する
  2. SSHサービスがインストールされていることを確認する
  3. ユーザーとグループを作成し、必要なディレクトリを追加する
  4. sshサービスの設定
  5. セットアップが期待どおりに機能していることを確認する

1。サーバーが最新であることを確認する

続行する前に、システムが最新であることを確認してください。このコマンドを使用して、システムパッケージを更新し、更新します。

sudo apt update
sudo apt upgrade -y

2。 SSHサービスがインストールされていることを確認する

sshがインストールされていることを確認します:

$ sudo apt install -y openssh-server
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
openssh-server is already the newest version (1:8.4p1-5).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

インストールされたので、サービスを開始します

sudo systemctl start sshd

ステータスを確認する

$ sudo systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2021-12-03 10:18:03 UTC; 2 days ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 665 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 682 (sshd)
      Tasks: 1 (limit: 4626)
     Memory: 6.2M
        CPU: 9.132s
     CGroup: /system.slice/ssh.service
             └─682 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 05 09:20:46 ip-10-2-40-122 sshd[14717]: Received disconnect from 221.181.185.94 port 47597:11:  [preauth]
Dec 05 09:20:46 ip-10-2-40-122 sshd[14717]: Disconnected from authenticating user root 221.181.185.94 port 47597 [preauth]
Dec 05 10:34:30 ip-10-2-40-122 sshd[14797]: Received disconnect from 222.186.30.76 port 23207:11:  [preauth]
Dec 05 10:34:30 ip-10-2-40-122 sshd[14797]: Disconnected from authenticating user root 222.186.30.76 port 23207 [preauth]
Dec 05 10:34:41 ip-10-2-40-122 sshd[14799]: Received disconnect from 221.181.185.151 port 18104:11:  [preauth]
Dec 05 10:34:41 ip-10-2-40-122 sshd[14799]: Disconnected from authenticating user root 221.181.185.151 port 18104 [preauth]
Dec 05 11:11:54 ip-10-2-40-122 sshd[14830]: Received disconnect from 221.131.165.65 port 19729:11:  [preauth]
Dec 05 11:11:54 ip-10-2-40-122 sshd[14830]: Disconnected from authenticating user root 221.131.165.65 port 19729 [preauth]
Dec 05 11:19:03 ip-10-2-40-122 sshd[14840]: Accepted publickey for admin from 105.231.148.146 port 60649 ssh2: RSA SHA256:nDQ1FMciYtGpPYjdOwbUTVg7kQxEFtAjoSdWulRilIA
Dec 05 11:19:03 ip-10-2-40-122 sshd[14840]: pam_unix(sshd:session): session opened for user admin(uid=1000) by (uid=0)

3。ユーザーとグループを作成し、必要なディレクトリを追加する

次に、必要なユーザーがシステムに存在することを確認します。私の場合、sftpユーザーを/srv/sftpとしてホームにしたいです。

ホーム/srv/sftpを作成しましょう このコマンドで:

sudo mkdir /srv/sftp

次に、SFTP専用の包括的グループを作成しましょう

sudo groupadd sftpusers

次に、citizixというsftp専用ユーザーを作成します。

sudo useradd -G sftpusers -d /srv/sftp/citizix -s /sbin/nologin citizix

上記のオプションは次のことを行います:

  • -G sftpusers :ユーザーを作成し、sftpusersに追加します グループ
  • -d /srv/sftp/citizix :ホームディレクトリを/srv/sftp/citizixとして設定します
  • -s /sbin/nologin :ユーザーにログインさせたくないので、sshログインシェルはありません
  • 最後に、citizixとしてのユーザー名

次に、次のコマンドを使用して、作成したユーザーにパスワードを追加します。

$ sudo passwd citizix
New password:
Retype new password:
passwd: password updated successfully

3。 sshサービスの設定

必要なソフトウェアをインストールし、ユーザーとグループを作成したので、sshを構成しましょう。

sshでパスワード認証が有効になっていることを確認します。ここで設定ファイルを編集します/etc/ssh/sshd_config

sudo vim /etc/ssh/sshd_config

次に、この行にコメントが付いていないことを確認します:

PasswordAuthentication yes

次に、sftpusersにユーザーのルールを追加する必要があります sftpと見なされるグループ。構成ファイルを編集します:

sudo vim /etc/ssh/sshd_config

ファイルの最後に次のコンテンツを追加します:

Match Group sftpusers  
    X11Forwarding no  
    AllowTcpForwarding no  
    ChrootDirectory /srv/sftp
    ForceCommand internal-sftp

次に、sshdを再起動して、構成を再ロードします。

sudo systemctl restart sshd

sshdであることを確認します 期待どおりに実行されています:

$ sudo systemctl status sshd
● ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-12-05 11:22:02 UTC; 12s ago
       Docs: man:sshd(8)
             man:sshd_config(5)
    Process: 15292 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
   Main PID: 15293 (sshd)
      Tasks: 1 (limit: 4626)
     Memory: 1.0M
        CPU: 159ms
     CGroup: /system.slice/ssh.service
             └─15293 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 05 11:22:02 ip-10-2-40-122 systemd[1]: Starting OpenBSD Secure Shell server...
Dec 05 11:22:02 ip-10-2-40-122 sshd[15293]: Server listening on 0.0.0.0 port 22.
Dec 05 11:22:02 ip-10-2-40-122 sshd[15293]: Server listening on :: port 22.
Dec 05 11:22:02 ip-10-2-40-122 systemd[1]: Started OpenBSD Secure Shell server.

4。セットアップが期待どおりに機能していることを確認する

ユーザーを正常に作成し、sftp構成を追加したら、次のコマンドを使用してセットアップをテストします。

❯ sftp [email protected]
[email protected]'s password:
Connected to 18.236.122.10.
sftp>

これで、ユーザーが構成された状態でsftpサーバーが稼働しました!

ユーザーはサーバーにログインして、ホームディレクトリにあるファイルとディレクトリにアクセスできます。ユーザーを自分のディレクトリ外の他のディレクトリに移動させたい場合は、ユーザーがアクセスするのに十分な権限を持っていることを確認してください。これらのディレクトリとファイルは、sftpディレクトリ(/srv/sftp)内にある必要があります 。

例:ユーザーにディレクトリ/srv/sftp/paymentfilesにアクセスしてもらいたい場合 、次の手順を実行します:

ディレクトリを作成する

sudo mkdir /srv/sftp/paymentfiles

次に、ユーザーを割り当てます(citizix )ディレクトリを所有することによるアクセス:

sudo chown citizix:sftpusers /srv/sftp/paymentfiles

それだ。これで、ユーザーはアクセスできるようになります。

結論

このガイドでは、Debian11でsftpサーバーをセットアップすることができました。


Debian
  1. Debian 11に静的IPを設定する-その方法は?

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

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

  1. Debian10BusterでSambaサーバーをセットアップする方法

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

  3. Debian10でOpenVPNサーバーをセットアップする方法

  1. Debian10BusterでNFSサーバーをセットアップする方法

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

  3. Debian9でNginxサーバーブロックを設定する方法