質問

質問

質問

SSHサーバーを起動すると、Debianも自動的にSFTPサーバーを起動します。なぜこのように設計されたのですか?

環境:

  • Linux 5.10.0-14-amd64 Debian 5.10.113-1 (2022-04-29) x86_64 GNU/Linux
  • ssh.service - OpenBSDセキュアシェルサーバー

背景

今日私は気づいた:

  • httpリクエストを処理したい場合は、Webサーバー(Apache(2)、Node.jsなど)を起動します。
  • SSHを処理したい場合は、SSHサーバーを起動します。
  • SFTPを処理したいとき... DebianはすでにSFTPサーバーを起動します。

それで調査を少しし、この記事によると378313/default-sftp-server-in-debian-9-stretch、私はSFTPが「(公開)SSHの一部」で始まることを発見しました。これは完全に理解されていますが、懸念事項の分離などにより奇妙に感じられます。

Windowsとは異なり、Debianが私に予期せぬことや余分なことをしていると感じたことはありません。しかし、今日私はそれを感じました。結局私が言ったsystemctl restart sshのはいいえですsystemctl restart ssh-and-also-ftp(後者の命令は作成されました)。

私はUnix / Linuxとその哲学に初めて触れたので、この状況の良い説明をいただきありがとうございます。

ベストアンサー1

SFTPではありませんが、スケーラブルなコアSSHプロトコルこれは、1つ以上の共通SSH実装(OpenSSH)に組み込まれているため、考慮することができます。標準部品

必要でない場合は/etc/ssh/sshd_config削除するように変更して、サーバーでこの機能を無効にできます。Subsystemsftp-server

たとえば、次の行はsftp-serverSFTPサービスを処理するための外部ユーティリティを定義します。

Subsystem sftp-server

この行は、SFTP サービスの内部実装を定義します。

Subsystem internal-sftp

この行を削除またはコメントアウトすると、SubsystemSFTP サービスは完全に無効になります。

# Subsystem …

rsync(インストールされている場合)やそのバージョンなどのツールは引き続き実行されるため、SFTP自体を無効にしても、scpユーザーがクライアントとサーバー間でファイルを転送するのを防ぐことはできません。 (以前のバージョンはscpSFTPとは無関係に動作します。最新バージョンはSFTPを使用しますが、このフラグを使用すると以前のプロトコルを強制的に使用できます。-O)考慮すべきいくつかの「マイナーな」回避策もありますssh remoteHost cat somefile > local_copy_of_somefile

おすすめ記事