質問
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
削除するように変更して、サーバーでこの機能を無効にできます。Subsystem
sftp-server
たとえば、次の行はsftp-server
SFTPサービスを処理するための外部ユーティリティを定義します。
Subsystem sftp-server
この行は、SFTP サービスの内部実装を定義します。
Subsystem internal-sftp
この行を削除またはコメントアウトすると、Subsystem
SFTP サービスは完全に無効になります。
# Subsystem …
rsync
(インストールされている場合)やそのバージョンなどのツールは引き続き実行されるため、SFTP自体を無効にしても、scp
ユーザーがクライアントとサーバー間でファイルを転送するのを防ぐことはできません。 (以前のバージョンはscp
SFTPとは無関係に動作します。最新バージョンはSFTPを使用しますが、このフラグを使用すると以前のプロトコルを強制的に使用できます。-O
)考慮すべきいくつかの「マイナーな」回避策もありますssh remoteHost cat somefile > local_copy_of_somefile
。