GNU/Linux >> Linux の 問題 >  >> OpenSuse

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

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

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

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

関連コンテンツ

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

前提条件

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

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

目次

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

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

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

sudo zypper ref
sudo zypper update -y

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

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

~> sudo zypper install openssh-server
Loading repository data...
Reading installed packages...
'openssh-server' is already installed.
No update candidate for 'openssh-server-8.4p1-3.3.1.x86_64'. The highest available version is already installed.
Resolving package dependencies...
Nothing to do.

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

sudo systemctl start sshd

ステータスを確認する

~> sudo systemctl status sshd
● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 10:19:26 UTC; 29min ago
   Main PID: 1419 (sshd)
      Tasks: 1
     CGroup: /system.slice/sshd.service
             └─1419 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on 0.0.0.0 port 22.
Dec 03 10:19:26 ip-10-2-40-46 sshd[1419]: Server listening on :: port 22.
Dec 03 10:19:26 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Received disconnect from 92.255.85.37 port 43914:11: Bye Bye [preauth]
Dec 03 10:21:13 ip-10-2-40-46 sshd[1507]: Disconnected from authenticating user root 92.255.85.37 port 43914 [preauth]
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: Accepted publickey for ec2-user from 105.231.31.248 port 60453 ssh2: RSA SHA256:nDQ1FM>
Dec 03 10:33:40 ip-10-2-40-46 sshd[1977]: pam_unix(sshd:session): session opened for user ec2-user by (uid=0)
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Invalid user huawei from 92.255.85.37 port 36540
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Received disconnect from 92.255.85.37 port 36540:11: Bye Bye [preauth]
Dec 03 10:36:49 ip-10-2-40-46 sshd[2203]: Disconnected from invalid user huawei 92.255.85.37 port 36540 [preauth]

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
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens 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
● sshd.service - OpenSSH Daemon
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: disabled)
     Active: active (running) since Fri 2021-12-03 11:22:18 UTC; 5min ago
    Process: 15765 ExecStartPre=/usr/sbin/sshd-gen-keys-start (code=exited, status=0/SUCCESS)
    Process: 15770 ExecStartPre=/usr/sbin/sshd -t $SSHD_OPTS (code=exited, status=0/SUCCESS)
   Main PID: 15780 (sshd)
      Tasks: 1
     CGroup: /system.slice/sshd.service
             └─15780 sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups

Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Starting OpenSSH Daemon...
Dec 03 11:22:18 ip-10-2-40-46 sshd-gen-keys-start[15765]: Checking for missing server keys in /etc/ssh
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on 0.0.0.0 port 22.
Dec 03 11:22:18 ip-10-2-40-46 sshd[15780]: Server listening on :: port 22.
Dec 03 11:22:18 ip-10-2-40-46 systemd[1]: Started OpenSSH Daemon.

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

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

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

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

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

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

ディレクトリを作成する

sudo mkdir /srv/sftp/paymentfiles

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

sudo chown citizix:sftpusers /srv/sftp/paymentfiles

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

結論

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


OpenSuse
  1. openSUSE13.1からopenSUSE13.2にアップグレードする方法

  2. openSUSE12.1にZendServer5をインストールする方法

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

  1. Ubuntu20.04にsftpサーバーをインストールしてセットアップする方法

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

  3. OpenSUSELeap15.3にJava17をインストールする方法

  1. OpenSUSELeap15.3にMongodb5をインストールする方法

  2. MysqlServer8をOpenSUSELeap15.3にインストールする方法

  3. OpenSUSELeap15.3にRedis6をインストールして設定する方法