sshdの設定を反映する方法
スポンサーリンク
このドキュメントの内容は、以下の通りです。
はじめに
オペレーティングシステムで動作するプログラムの多くは、ソフトウェアの起動時に、設定情報を読み込むのが一般的ではないでしょうか。設定を変更したときに、即時反映されるプログラムもあれば、設定を再読み込みする必要のあるプログラムもあります。この記事では、 OpenSSH SSH daemonのsshdの設定を反映させる方法について解説します。
設定を反映する方法
プログラムの設定を反映する方法は、以下の方法があります。- 再起動する
- 再起動せずに設定を読み込む
再起動をするとプロセスはどうなるのか?
sshd のデーモンプロセスを再起動する場合は、プロセスが一度終了され、その後、プロセスが起動されます。そのため、一度、すべての sshd のプロセスは終了します。つまり、sshd の接続中のセッションがすべて切断されます。目の前に、パソコンやサーバがある場合は、sshd を終了しても困りませんが、遠隔地のサーバに ssh でリモートアクセスしていて、ほかにアクセスする方法がない場合は、設定ファイルの変更後の再起動は注意が必要です。設定を変更後に、sshd が起動することができなかったとしたら、そのあと、リモート接続できなくなってしまいます。
再起動せずに設定を読み込む利点
遠隔地にいる場合に、設定変更後にsshd を再起動した場合に、sshd が起動できないとき、そのあと、操作不能になってしまうと説明をしました。それでは、それを避けるための方法はなんでしょうか? sshd のセッションを維持したまま、設定を反映する方法です。
sshd には、プロセスを終了せずに、設定を読み込む機能が実装されています。
Linux や FreeBSD などの Unix では、シグナル(signal)と呼ばれる機能があります。多くのデーモンプログラムは、シグナルを受信したときに、動作をするように実装されています。たとえば、デーモンプロセスを終了するときには、 SIGTERM(TERM) を送信します。
sshd の設定を読み込みさせる場合には、 sshd にSIGHUP(HUP) を送信します。
CentOSの場合
systemd 系の CentOS では、 systemctl コマンドを利用して、設定をリロードします。systemctl reload sshd
最初に sshd が起動した状態です。
6月 30 23:37:21 localhost.localdomain systemd[1]: Starting OpenSSH server daemon... 6月 30 23:37:21 localhost.localdomain sshd[1129]: Server listening on 0.0.0.0 port 22. 6月 30 23:37:21 localhost.localdomain sshd[1129]: Server listening on :: port 22. 6月 30 23:37:21 localhost.localdomain systemd[1]: Started OpenSSH server daemon.
上記の状態から systemctl コマンドを用いて reload を実行した結果、以下のログが出力されました。
7月 01 00:01:13 localhost.localdomain systemd[1]: Reloading OpenSSH server daemon. 7月 01 00:01:13 localhost.localdomain systemd[1]: Reloaded OpenSSH server daemon. 7月 01 00:01:13 localhost.localdomain sshd[1129]: Received SIGHUP; restarting. 7月 01 00:01:13 localhost.localdomain sshd[1129]: Server listening on 0.0.0.0 port 22. 7月 01 00:01:13 localhost.localdomain sshd[1129]: Server listening on :: port 22.
Ubuntu の場合
Ubuntu の場合は、以下のコマンドで reload が実行できます。sudo /etc/init.d/ssh reload
FreeBSDの場合
FreeBSDの設定ファイル
sshdの設定ファイルは、FreeBSDの場合 /etc/ssh/sshd_config です。FreeBSDのsshdNo設定を反映する方法
sshd_config を更新したとき、sshdに設定を反映するには、/etc/rc.d/sshdスクリプトとreloadオプションを使います。% sudo /etc/rc.d/sshd reload Performing sanity check on sshd configuration. %
または、 service コマンドを利用して reload することもできます。
% sudo service sshd reload Performing sanity check on sshd configuration. %
以前は、 Reloading sshd config files. とメッセージが表示されていました。
FreeBSDのsshdスクリプトの実装について
/etc/rc.d/sshdスクリプトの中で実際に何をやっているかというと、 sshdのpidファイル /var/run/sshd.pid を確認し、sshdプロセスが存在しているか確認し、sshdが生きているなら killコマンドで HUP しているだけです。下記コマンドでも同じことが実現できます。
sudo kill -HUP `cat /var/run/sshd.pid`
killコマンドを直接叩くと、誤ったオプションでsshdを殺してしまったりと、オペレーションミスが起こりそうなので、やらないほうがよいでしょう。習慣的に、kill -KILLとかやってしまう人は危ないですね。
参照しているページ (サイト内): [2009-03-03-1] [2008-10-19-1] [2008-08-17-1]
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12