ソースビルドでインストールしたsshdの再起動ができない

目次

スポンサードリンク

ソースビルドでインストールしたopensshdを起動するときは以下のコマンドで起動できたが、

#/usr/local/openssh-7.7p1/sbin/sshd -f /usr/local/openssh-7.7p1/etc/sshd_config

設定変更時に再起動ができないで困った。以下の様に実行してもプロセスが残り続ける。

# /usr/local/openssh-user/sbin/sshd stop
Extra argument stop.

原因を調べるために、OSにプリインストールされているsshdについて調べてみた。
sshdは通常systemctl経由で実行するので、systemctlの定義を調べてみた。

# cat /usr/lib/systemd/system/sshd.service

[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

見ての通り、ExecStartは定義があるが、ExecStopはない。
ExecReloadを参考にkillコマンドを使ったら設定を反映することができた。