web-dev-qa-db-ja.com

なぜssh.serviceではなくsshd.serviceなのですか?

/etc/ssh/sshd_configを変更したら、systemctl restart sshd.serviceを実行して変更を反映できます。少なくとも私の環境では、systemctl restart ssh.serviceも機能します。そしてsystemctl --all list-units ssh*は、sshd.serviceという名前のサービスがないことを教えてくれます。では、なぜsshd.serviceが広く使用され、実際に有効なのですか?

(sshデーモンの名前がsshdであることは知っていますが、これは合理的な理由ではないと思います。)


linux mint 19ubuntu- base)とvolumio 2raspbian- base)で次のコマンドを実行しました。どちらもdebianに基づいています。

systemctl restart sshd.service; echo $? #=> 0
systemctl restart ssh.service; echo $? #=> 0
systemctl --no-legend --all list-units ssh* #=> only ssh.service exists
9
ynn

Sshサービスは常に/etc/servicesでsshという名前になっています。これは[〜#〜] ssh [〜#〜]プロトコルであるため、-sshdではないためです。デーモン。

次に、少なくともDebianの実装、つまりDebianの派生物では、-serviceを開始するために同じ名前が... service ssh startとして選択され、system-Vスタイルに変換されました/etc/init.d/ssh

サービスは古いスタイルまたはsystemdスタイルの方法で無関心に開始できるため、これは一貫性のためにsystemdに保持されました。それでも、別名は別の選択をした他のディストリビューションとの互換性のために定義されています:

[Install]
WantedBy=multi-user.target
Alias=sshd.service

したがって、どちらもDebianと派生物で使用でき、同じサービスを表します。

19
A.B

すでに確立されているように、異なるディストリビューションでは異なる名前が使用されています。

両方に正当な理由があります

  • サーバーはsshdと呼ばれ、そのためsshd.service
  • sshdは「SSHデーモン」または「SSHサーバー」を意味するため、「SSHサーバーサービス」は2倍になります。

したがって、ディストリビューションのメンテナーの好みの問題になります。これらの設定も時間とともに変化する可能性があります。Suseがサービス名をntpからntpdに切り替えたときのことを覚えています。

6
RalfFriedl