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

CentOS8でシェルアクセスなしでSFTPユーザーを作成する方法

SFTPは「SSHファイル転送プロトコル」の略です。 SFTPは、2台のサーバー間でファイルを転送するために使用されるファイル転送プロトコルです。デフォルトでは、SFTPを使用すると、SSHアクセスが有効になっているすべてのサーバーでファイルを転送できます。ただし、すべてのユーザーに端末アクセスを許可するため、セキュリティ上の理由からお勧めしません。

このチュートリアルでは、シェルアクセスなしでSFTPユーザーを作成して、ユーザーがSSHアクセスではなくSFTPアクセスのみを持つようにする方法を学習します。

前提条件

  • Atlantic.netクラウドプラットフォーム上の新しいCentOS8VPS。
  • サーバーで構成されているrootパスワード。

ステップ1-Atlantic.Netクラウドサーバーを作成する

まず、Atlantic.Netクラウドサーバーにログインします。 1GB以上のRAMを搭載したオペレーティングシステムとしてCentOS8を選択して、新しいサーバーを作成します。 SSH経由でクラウドサーバーに接続し、ページの上部で強調表示されているクレデンシャルを使用してログインします。

CentOS 8サーバーにログインしたら、次のコマンドを実行して、ベースシステムを最新の利用可能なパッケージで更新します。

dnf update -y

ステップ2–SFTPユーザーを作成する

まず、ファイル転送アクセスのみを持つ新しいユーザーを作成する必要があります。次のコマンドを使用して、sftpという名前の新しいユーザーを作成できます。

adduser sftp

次に、上記のユーザーのパスワードを設定します。

passwd sftp

希望のパスワードを入力してEnterキーを押します。

ステップ3–ファイル転送用のディレクトリ構造を作成する

次に、ファイル転送用のディレクトリ構造を作成して、SFTPアクセスを1つのディレクトリに制限する必要があります。

次のコマンドを使用して、新しいディレクトリを作成できます。

mkdir -p /opt/sftp/public

次に、/ opt /sftp/ディレクトリの所有権をrootに設定します。

chown root:root /opt/sftp

次に、次のコマンドを使用して適切な権限を付与します。

chmod 755 /opt/sftp

次に、パブリックディレクトリの所有権をsftpユーザーに設定します。

chown sftp:sftp /opt/sftp/public

ステップ4–SFTP用にSSHを構成する

次に、SSHを構成して、1つのディレクトリへのアクセスを制限し、sftpユーザーへのターミナルアクセスを禁止する必要があります。

ファイル/etc/ ssh / sshd_configを編集することでそれを行うことができます:

nano /etc/ssh/sshd_config

ファイルの最後に次の行を追加します。

Match User sftp
ForceCommand internal-sftp
PasswordAuthentication yes
ChrootDirectory /opt/sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no

終了したら、ファイルを保存して閉じます。次に、SSHサービスを再起動して、変更を実装します。

systemctl restart sshd

ステップ5–SFTPを確認する

次に、次のコマンドを使用してSFTPアクセスを確認します。

sftp [email protected]

以下に示すように、パスワードの入力を求められます。

[email protected]'s password:

sftpユーザーパスワードを入力し、Enterキーを押します。接続すると、次の出力が表示されます。

Connected to your-server-ip.
sftp>

次に、次のコマンドを実行してディレクトリを一覧表示します。

sftp> ls

次の出力にパブリックディレクトリが表示されます。

public 
sftp>

次に、SSH接続を確立できるかどうかを確認します。

ssh [email protected]

以下に示すように、パスワードの入力を求められます。

[email protected]'s password:

sftpユーザーパスワードを入力し、Enterキーを押します。次の出力が表示されます。

This service allows sftp connections only.
Connection to your-server-ip closed.

上記の出力は、sftpユーザーがSSH経由でサーバーシェルにアクセスできなくなったことを示しています。

結論

おめでとう! CentOS 8でシェルアクセスなしでSFTPを正常に構成しました。このセットアップは、複数のユーザーとディレクトリに使用することもできます。 Atlantic.NetのVPSでSFTPを今すぐ始めましょう!


Linux
  1. Centos – CentosでSftpユーザーを作成する方法は?

  2. CentOS7でsudoユーザーを作成する方法

  3. CentOSでsudoユーザーを作成する

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

  2. CentOS、Ubuntu、DebianでSudoユーザーを作成する方法

  3. Centos – Centosで非特権ユーザーを作成する方法は?

  1. Sshアクセスで新しいユーザーを作成する方法は?

  2. CentOS 7.xでVSFTPDを設定するにはどうすればよいですか?

  3. CentOS / RHEL :ユーザーのログイン シェルを変更する方法