もっと詳しく

SFTPは、ネットワークを介したファイルの安全な転送を可能にするプロトコルです。 これは、企業や個人が機密データを転送するためによく使用されます。 SFTPはFTPに似ていますが、通信に異なるプロトコルを使用します。 SFTPはFTPよりも安全であり、SSH(Secure Shell)と組み合わせて使用​​され、さらに高いレベルのセキュリティを提供することがよくあります。

このチュートリアルでは、Ubuntu22.04システムでSFTPのみのユーザーを作成するのに役立ちます。 そのアカウントはSFTP経由で接続できますが、SSH経由で接続することはできません。 また、これにより、SFTPユーザーが特定のディレクトリのみに制限(chroot)されます。

前提条件

  • シェルアクセスを備えた実行中のUbuntu22.04LTSシステム
  • sudo特権アカウントが必要です

ステップ1-SFTPユーザーを作成する

まず、sftpユーザーとして使用する新しいアカウントをシステムに作成します。

次のコマンドは、という名前の新しいアカウントを作成します sftpuser シェルアクセスなし。 お好みのユーザー名を変更できます

sudo adduser --shell /bin/false sftpuser 

ステップ2–SFTPディレクトリを構成する

次に、sftpユーザーがアクセスできるディレクトリ構造を作成します。

sudo mkdir -p /var/sftp/files 

ここでは、ユーザーが「ファイル」ディレクトリにのみアクセスできるようにします。

ここで、filesディレクトリの所有権をsftpuserに変更します。 sftpuserがこのディレクトリでのみ読み取りと書き込みができるようにします。

sudo chown sftpuser:sftpuser /var/sftp/files 

そして、/ var/sftpの所有者とグループ所有者をrootに設定します。 rootユーザーには、このアクセスに対する読み取り/書き込みアクセス権があります。 グループメンバーと他のアカウントには、読み取りと実行の権限しかありません。

sudo chown root:root /var/sftp 
sudo chmod 755 /var/sftp 

ステップ3–SSH構成ファイルを更新する

次に、テキストエディタでSSH構成ファイルを編集します

sudo vim /etc/ssh/sshd_config 

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

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

構成ファイルを保存して閉じます。

次に、構成ファイルを検証します。

sudo sshd -t 

検証が成功すると、出力は表示されません。 出力にエラーが表示された場合は、次のコマンドを実行する前に必ず修正してください。

SSHサービスを再起動して、変更を適用します。

sudo systemctl restart ssh 

すべて完了。 SFTPのみのユーザーがUbuntuシステムで正常に作成されます。 次に、新しいユーザーの資格情報を使用してリモートシステムにログインし、すべてが正しく機能しているかどうかを確認します。

ステップ4–SFTPユーザーに接続する

コマンドラインまたはFilezillaやWinSCPなどのグラフィカルアプリケーションを使用して、リモートSFTPサーバーに接続できます。 このチュートリアルでは、sftpをUbuntuシステムのアカウントのみに接続する両方の方法を紹介します。

Linuxユーザーは、sftpコマンドラインユーティリティを使用して、リモートのsftpインスタンスに接続できます。

sftp [email protected] 

[email protected]'s password:
sftp>

FileZillaなどのグラフィカルインターフェイスアプリケーションを使用して、リモートSFTPサーバーに接続することもできます。 これは、LinuxユーザーとWindowsユーザーの両方が利用できます。 Filezillaユーザーはアプリケーションを開き、次のようにsftpに接続します。

  • ホスト:sftp:// system-ip-host
  • ユーザー名:手順1で作成したSFTPユーザーを使用します。
  • パスワード:手順1で作成したSFTPユーザーパスワードを使用します。
  • ポート:SSHサーバーポートを使用するか、デフォルトポートとして空のままにします。

Filezillaを使用してSFTPをUbuntu22.04に接続します

シェルアクセスがないことを確認します。

このアカウントはSFTPのみの接続用に構成されているため。 したがって、SSH経由で接続しようとしたユーザーは、認証が成功するとすぐに切断されます。 ユーザーは以下のメッセージを受け取ります:

ssh [email protected]  

[email protected]'s password:
This service allows sftp connections only.
Connection to sftp.tecadmin.net closed.

結論

結論として、SFTPサーバーのセットアップは、コンピューター間でファイルを安全に転送するための優れた方法です。 この記事の手順に従うことで、Ubuntuシステムですぐに独自のSFTPサーバーをセットアップできます。 ご不明な点がございましたら、下にコメントをお寄せください。喜んでサポートさせていただきます。

The post Ubuntu 22.04(シェルアクセスなし)でSFTPユーザーを作成する方法– TecAdmin appeared first on Gamingsym Japan.