web-dev-qa-db-ja.com

sshdを再起動する必要なく、authorized_usersにキーを追加します

サーバーに公開鍵を追加しようとしていますが、それを有効にするためにsshdサービスを再起動したくありません。その理由は、sshサービスを再起動すると、その時点でsshサービスを使用できる他のユーザーにとって混乱を招くように見えるためです。ほとんどのドキュメントでは、公開鍵を$HOME/.ssh/authorized_keysに追加してから、sshdサービス(systemctl restart sshd)を再起動することを推奨しています。対象のOSはLinuxです。

私の質問は:

  1. sshdの再起動は必要ですか?
  2. sshdが再起動された場合、その時点でサービスが停止していますか?
  3. 新しい公開鍵を$HOME/.ssh/authorized_keysに追加した後、sshdサービスを再起動する必要なく、sshを使用してパスワードなしの認証を設定する方法はありますか?
5
user1952500

Sshdの再起動は必要ですか?

通常はありません。 Linuxディストリビューションは通常、公開鍵認証を許可するデフォルト構成で出荷されるため、通常は構成を編集してenableに編集する必要がないため、再起動します不要です。 sshd_configで何かをしなければならなかった場合でも、そのファイルを編集した後に一度だけ再起動する必要があります。承認されたキーファイルの後の編集ごとではありません。

Sshdを再起動する必要さえないことに注意してください。 man sshd から:

sshdは、ハングアップシグナルSIGHUPを受信すると、それを開始した名前とオプションを使用して自身を実行することにより、構成ファイルを再読み取りします。 /usr/sbin/sshd

また、sshdの一般的なsystemdサービスはこれを認識しているため、代わりにsystemctl reload sshdを実行できます。

Sshdが再起動された場合、その時点でサービスが停止していますか?

サービス停止の定義によって異なります。 sshdを再起動するだけでは既存のssh接続は終了しませんが、sshdの再起動が完了するまで新しい接続は受け入れられません。

14
Olorin

最良の方法は使用することです

ssh-copyid [email protected]

ここで、NはIPアドレスです。

OR

ssh-copyid user@fqdn

ここで、fqdnは完全修飾ドメイン名です(例:server.domain.com)

これはデーモンの再起動を必要としません

1
CRTLBREAK