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

Ubuntu22.04でSFTPサーバーをセットアップする方法JammyJellyfishLinux

このチュートリアルでは、Ubuntu 22.04JammyJellyfishでSFTPサーバーをセットアップする方法を示します。

FTPはファイルにアクセスして転送するための優れたプロトコルですが、クリアテキストプロトコルであるという欠点があります。 。つまり、クレデンシャルとデータは暗号化なしで送信されるため、インターネット接続を介して使用することは安全ではありません。 SFTPの「S」は「Secure」の略で、SSHを介してFTPプロトコルをトンネリングし、安全な接続を確立するために必要な暗号化を提供します。

このチュートリアルでは、次のことを学びます。

  • SSHデーモンをインストールして構成する方法
  • SFTPユーザーアカウントとグループを設定する方法
  • GUIを介してSFTPサーバーに接続する方法
  • コマンドラインからSFTPサーバーに接続する方法
ソフトウェア要件とLinuxコマンドライン規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
システム Ubuntu22.04ジャミークラゲ
ソフトウェア SSHデーモン
その他 rootまたはsudoを介したLinuxシステムへの特権アクセス コマンド。
コンベンション –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudoを使用して、root権限で実行する必要があります。 コマンド
$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります

SSHデーモンの構成

  1. SFTPにはSSHが必要なため、SSHサーバーがシステムにまだインストールされていない場合は、コマンドラインターミナルを開いて次のコマンドを実行してインストールします。
    $ sudo apt update
    $ sudo apt install ssh
    
  2. SSHをインストールしたら、SSHD構成ファイルにいくつかの変更を加える必要があります。 nanoまたはお気に入りのテキストエディタを使用して、root権限で開きます:
    $ 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 ssh
    

SSHが適切に構成されていれば、ユーザーのSFTPアカウントの設定に進むことができます。

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

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

  1. sftpという名前の新しいユーザーグループを作成します 。すべてのSFTPユーザーはこのグループに属する必要があります。

    $ sudo addgroup sftp
    
  2. 次に、新しいユーザーを作成します。単にsftpuserと呼びます この例では、好きな名前を付けることができます。また、必ずこのユーザーをsftpに追加してください 作成したグループ。
    $ sudo useradd -m sftpuser -g sftp
    
  3. 新しく作成したsftpuserのパスワードを設定します 。確認のために新しいパスワードを2回入力する必要があります。
    $ sudo passwd sftpuser
    
  4. 最後に、自分のホームディレクトリのユーザーにフルアクセスを許可しますが、システム上の他のすべてのユーザーのディレクトリへのアクセスを拒否します。
    $ sudo chmod 700 /home/sftpuser/
    

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

コマンドラインを使用してSFTPにログインする

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

  1. ターミナルを開き、sftpを使用してログインします コマンドとsftpuser アカウント(またはあなたがあなたのために使用することに決めた名前)。このユーザーに対して前のセクションで構成したパスワードを入力する必要があります。
    $ sftp [email protected]
    
  2. ユーザーのホームディレクトリに移動します。これは、ユーザーのホームディレクトリが権限を持っている唯一の場所だからです。ここで、新しいディレクトリを作成して、すべてが意図したとおりに機能していることを確認してください。
    sftp> cd sftpuser
    sftp> mkdir sftp-test
    sftp> ls
    sftp-test          
    sftp>
    

GUIを使用してSFTPにログイン

GUIアプリケーションを使用してSFTPサーバーに接続する場合は、さまざまなオプションを利用できます。好みのSFTPクライアントまたはデフォルトでUbuntu22.04に組み込まれているクライアント(GNOMEのNautilusファイルマネージャー)を使用できます。

  1. [アプリケーション]メニューからNautilusファイルマネージャーを開きます。
  2. 「その他の場所」をクリックして、sftp://127.0.0.1と入力します。 ウィンドウの下部にある[サーバーに接続]ボックスで、[接続]をクリックします。
  3. 前に設定したSFTPアカウントのクレデンシャルを入力し、[接続]をクリックします。
  4. 接続が成功すると、ホームディレクトリを開いて、前に作成したテストディレクトリを確認できます。

まとめ

SFTPサーバーの記事では、SFTPサーバーを作成し、Ubuntu 22.04 JammyJellyfishLinuxでログインする方法を説明しました。また、コマンドラインとUbuntuGUIを使用してFTPサーバーに接続する方法についても説明しました。

この記事では、システムにSFTPを設定してFTPプロトコルを保護する方法を説明しました。このガイドの手順に従うことで、ローカルネットワーク上またはインターネット経由のコンピューターがシステムに安全にアクセスして、コマンドラインまたは優先SFTPクライアントを介してファイルを保存および取得できます。


Ubuntu
  1. Ubuntu18.04でMySecureShellSFTPサーバーをセットアップする方法

  2. Ubuntu 22.04JammyLinuxでSSHサーバーを有効にする方法

  3. LinuxでパスワードなしのSSHを設定する方法

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

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

  3. Ubuntu22.04で私のIPアドレスを見つける方法JammyJellyfishLinux

  1. Ubuntu 22.04 JammyJellyfishLinuxにDiscordをインストールする方法

  2. Ubuntu 22.04 JammyJellyfishLinuxにSteamをインストールする方法

  3. Ubuntu22.04にLaTexをインストールする方法JammyJellyfishLinux