Technical Anshu ホーム › チュートリアル › SFTP サーバー Ubuntu のセットアップ
🔐 Ubuntu 上の SFTP サーバー

SFTP サーバー Ubuntu のセットアップ - 安全な SSH ファイル転送

Ubuntu に OpenSSH をインストールし、転送ユーザーを作成し、ポート 22 で暗号化された SFTP 接続の受け入れを開始します。これは、ほとんどのガイドがスキップする安全性チェックを備えたクリーンなステップバイステップのルートです。

✍️ Technical Anshu🐧 Ubuntu / OpenSSH🎧 Multi-Language Audio
SFTP サーバー Ubuntu のセットアップ - 安全な SSH ファイル転送
🎧 多言語音声: 動画プレーヤーの [設定] (⚙️) ➔ [音声トラック] から希望の音声言語を選択できます。

📑章

  1. SFTP とは — SSH 内でエンドツーエンドで暗号化されたファイル転送
  2. Ubuntu に OpenSSH サーバー パッケージをインストールする
  3. ssh サービスを開始し、再起動後も存続するようにします
  4. sshd_config の SFTP サブシステム行を確認します
  5. 専用の転送ユーザーを作成します。管理者はログインしないでください
  6. SSH 用にファイアウォールを開きます
  7. 2 台目のマシンから接続し、最初のファイルを転送します
  8. サーバーを実際に使用する前の安全性チェック

📋 概要とステップバイステップガイド

1

OpenSSHサーバーパッケージをインストールする

SFTP は SSH 内で行われるファイル転送であるため、すべてのパスワードとすべてのファイルがエンドツーエンドで暗号化されます。 Ubuntu では、これは別の製品ではなく、OpenSSH サーバーの一部です。 Ubuntu には SSHクライアントが同梱されていますが、サーバー側は別のパッケージです。インストールします:

Terminal
sudo apt update
sudo apt install openssh-server

まず sudo apt update を実行してパッケージ リストを最新にしてから、インストールして Y で確認します。インストーラーは /etc/ssh/sshd_config に構成を作成し、このマシンのホスト キーを自動的に生成します。本当に存在するソフトウェアはこれだけです。SFTP はこの 1 つのサービスのサブシステムであり、追加のダウンロードではなく、標準の SSH ポート 22 で応答します。

2

サービスを開始して再起動しても存続するようにする

通常、パッケージはそれ自体でサービスを開始します。それを証明し、停電後に復旧することを確認してください。

Terminal
sudo systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh

sudo systemctl status ssh には、緑色の active (running) 行が表示されます。これは、SFTP サーバーがすでにリッスンしていることを意味します。 sudo systemctl enable ssh を指定すると、起動するたびに起動し、停止した場合は sudo systemctl start ssh を指定すると元に戻ります。後で構成を変更した後、それを適用するコマンドは sudo systemctl restart ssh です。

📌 注: Ubuntu では、サービスは sshd ではなく ssh と呼ばれます。正しいガイドが失敗する最も一般的な理由は、間違った名前を使用することです。
3

SFTPサブシステム行の確認

構成を一度開いて確認してください。

Terminal
sudo nano /etc/ssh/sshd_config

一番下近くに次の行があるはずです。Ubuntu にはデフォルトで含まれています。

/etc/ssh/sshd_config
Subsystem sftp /usr/lib/openssh/sftp-server

この行が欠落している場合は、示されているとおりに追加します。この行がないと、SSH ログインは機能しますが、ファイル転送は拒否されます。他のことは今のところ放っておいてください。このファイルに対する強化変更は、意図的に一度に 1 つの設定ずつ行われます。

4

専用の転送ユーザーを作成する

ファイル転送のために自分の管理者ログインを決して渡さないでください。ファイルの移動のみに存在するアカウントを作成します。

Terminal
sudo adduser sftpuser

パスワードを求められたら設定し、名前と電話番号の質問は Enter でスキップします。これらはオプションです。このユーザーは、/home/sftpuser にあるホーム フォルダーを取得します。それ以外は何も取得しません。

✅ ヒント: 1 人につき 1 つのアカウントを使用する習慣が、後でサーバー ログを意味のあるものにします。アカウントの共有は責任の共有を意味します。誰が何を転送したかは誰にもわかりません。
5

ファイアウォールを開く

サーバー上で UFW がアクティブな場合、クライアントがサービスに到達するには、ポート 22 に明示的なパスが必要です。

Terminal
sudo ufw allow OpenSSH
sudo ufw status

OpenSSH プロファイルは、ポート 22 を開きます。このポートは、SSH ログインと SFTP 転送の両方を伝送する単一のポートです。別のマシンからテストする前に、ルールがステータス出力にリストされていることを確認してください。

6

最初のファイルを接続して転送する

同じネットワーク上の 2 台目のマシンから、転送ユーザーに接続します。アドレスをサーバーの実際の IP に置き換えます。サーバー上で ip a を実行して確認します。

Terminal (client machine)
sftp [email protected]

セッション内で、put はファイルをアップロードし、get はファイルをダウンロードし、exit は終了します。 Windows では、WinSCP と FileZilla は両方とも SFTP を話し、アドレス、ポート 22、ユーザー名、パスワードだけで接続します。

⚠️ 警告: 最初の接続時に、指紋のプロンプトが表示されます。そのフィンガープリントを信頼できる場合にのみ、yes と入力します。これは、偽者ではなく自分のサーバーに到達したことを証明するチェックです。そして、このサーバーを今のところローカル ネットワーク上に残しておきます。サーバーをインターネット上に置くのは、パスワードの代わりにキーによるログインと、最初にfail2banのような保護が必要になるため、別の決定となります。強化が完了するまで、ルーターのポートを転送しないでください。

サーバーは現在動作しています。簡単なインストールでは、完成したサーバーではなく、動作するサーバーが得られます。オープンなインターネットでのパスワード ログイン、ディスク全体を参照できるユーザー、ログイン レコードがないという 3 つのギャップは、次に 1 つずつ埋めなければなりません。

🏷️トピック検索変数とキーワード

🔍 SFTP Server 🔍 Ubuntu 🔍 OpenSSH 🔍 Secure File Transfer 🔍 SSH Port 22 🔍 openssh-server 🔍 sshd_config 🔍 systemctl ssh 🔍 SFTP User 🔍 UFW Firewall 🔍 WinSCP 🔍 FileZilla 🔍 TechnicalAnshu
🎙️ 全文転写 — タップして展開します

__TOK_31__

__TOK_32__

__TOK_33__

❓ よくある質問

このチュートリアルは完全に無料で実行できますか?

__TOK_34__

初心者でもこのガイドに従うことができますか?

__TOK_35__

行き詰まった場合はどこに質問すればよいですか?

__TOK_36__

🚀 YouTube でチュートリアル全体をご覧ください

__TOK_37__

__TOK_38__

▶️ 動画全体を見る
このチュートリアルはTechnical Anshu の Setup SFTP Server Ubuntu ビデオに基づいています。 • ステップで行き詰まっていますか?動画のコメント欄で質問してください — そこで助けが得られます 🙏