回答:
sshdサービスを再起動するだけです:
sudo service sshd restart
または:
sudo /etc/init.d/sshd restart
sudo service ssh restart
しません sshではなくsshdを再起動する必要があります。
sudo service sshd restart
sudo service ssh restart
うまく機能しsudo service sshd restart
ますが、「sshd:認識されないサービス」と報告します。なぜこれが変わるのかわからない
これを行うには、SSHサービスを再起動せずに、さらに邪魔にならない方法があります。
からman sshd
:
sshdは、/ usr / sbin / sshdなどで開始された名前とオプションで自身を実行することにより、ハングアップ信号SIGHUPを受信すると、構成ファイルを再読み取りします。
したがって、次のようなコマンドを使用して、SIGHUPをSSHサーバープロセスに送信できます。
sudo kill -SIGHUP $(pgrep -f "sshd -D")
pgrep -f "sshd -D"
一部には、新しい接続をリッスンは、信号を必要としないアクティブな各セッションの他のPIDがある可能性が高いので、ということsshdデーモンプロセスのPIDのみを返します。
sudo pkill -HUP sshd
か?
sshd
。sudo pkill -HUP -f "sshd -D"
魅力的な代替手段ですが、sudo
コマンドライン全体が独自の検索パターンに一致するため、pkillは独自の親に通知します。のよう... -f "sshd -[D]
にそれ自体に一致しないパターンを思い付くことができますが、それは少し物事を難読化します。pgrepメソッドは、学習者が頭を包み込むのが簡単だと思います。
ルートチェックとして
service --status-all | grep ssh
sshd
サービスはありませんでしたがssh
、Ubuntuサーバーでサービスを利用しました。それから
service ssh restart
再起動は再起動のより良い代替手段である可能性があります
sudo service sshd reload
ボンネットの下では、HUP
スティーブンKがすでに答えたのとほとんど同じ方法でsshdデーモンプロセスにシグナルを送ります。違いは、このバリアントはコマンドを直接ではkillproc
なく関数を使用kill
して、さらに正確な方法で信号を送信することです(間違ったプロセスに信号を送信する可能性のあるエラーを減らすため)。サービスを再起動/停止せずに設定が再読み込みされます。
もちろん、他の人が議論したように、SSHデーモンが実際にどのように呼び出されるかを知ることは価値があります。
sudo service ssh restart
を反映するためにサービスを再起動します。ただし、SSHを介して接続している場合、セッションは終了します。