ウェブサイト検索

Ubuntu 22.04 Jammy Jellyfish LinuxにSFTPサーバーを設定する方法


このチュートリアルでは、Ubuntu 22.04 Jammy JellyfishでSFTPサーバーを設定する方法を説明します。

FTPはファイルにアクセスし、転送するための素晴らしいプロトコルですが、平文プロトコルであるという短所があります。言い換えれば、インターネット接続を介して使用するには安全ではなく、資格情報やデータが暗号化なしで送信されます。SFTPの「S」は「Secure」を意味し、SSHを介してFTPプロトコルをトンネル化し、安全な接続を確立するために必要な暗号化を提供します。

このチュートリアルでは、あなたは学びます:

  • SSHデーモンのインストールと設定方法
  • SFTPユーザーアカウントとグループの設定方法
  • GUIを介してSFTPサーバーに接続する方法
  • コマンドラインを介してSFTPサーバーに接続する方法

SSHデーモンを設定する

  1. SFTPはSSHを必要とするため、システムにSSHサーバーがまだインストールされていない場合は、コマンドラインターミナルを開き、次のコマンドを実行してインストールしてください:

    
    sudo apt update
    sudo apt install ssh
    
  2. SSHがインストールされたら、SSHD設定ファイルにいくつかの変更を加える必要があります。ナノまたは好みのテキストエディタを使用して、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. 次に、新しいユーザーを作成します。この例では単にと呼びますが、お好きな名前を付けて構いません。また、このユーザーを先ほど作成したグループに追加することも忘れないでください。

    
    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 sftpuser@127.0.0.1
    
  2. ユーザーのホームディレクトリに移動します。そこだけが権限がある場所です。ここで、新しいディレクトリを作成して、すべてが意図した通りに動作していることを確認してみてください:

    
    sftp> cd sftpuser
    sftp> mkdir sftp-test
    sftp> ls
    sftp-test          
    sftp>
    

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

SFTPサーバーに接続するためにGUIアプリケーションを使用したい場合、選択肢はいくつもあります。お好みのSFTPクライアントや、Ubuntu 22.04にデフォルトで組み込まれているNautilusファイルマネージャーを使用できます。

  1. アプリケーションメニューから Nautilus ファイルマネージャーを開きます。
  2. 「他の場所」をクリックし、ウィンドウの下部にある「サーバーに接続」ボックスにsftp://127.0.0.1を入力して、「接続」をクリックします。

  3. 以前に設定したSFTPアカウントの資格情報を入力し、接続をクリックしてください。

  4. 接続が成功すると、ホームディレクトリを開き、以前に作成したテストディレクトリを見ることができるようになります。

締めくくりの考え

SFTPサーバーの記事では、SFTPサーバーの作成方法と、その後Ubuntu 22.04 Jammy Jellyfish Linux上でログインする方法を見ました。また、コマンドラインとUbuntuのGUIを使用してFTPサーバーに接続する方法も解説しました。

この記事では、システムにSFTPを設定することによってFTPプロトコルをどのように安全にするかを見ました。このガイドの手順に従うことで、ローカルネットワーク上やインターネット経由で、コンピュータがコマンドラインまたは好みのSFTPクライアントを使用して安全にファイルを保存および取得できるようになります。

関連記事: