質問: 比較的ゆるい設定でsshログインできるPCがあります。 * ポート22 * 全ユーザログイン可能(root もログイン可能) * 鍵不要でパスワードログイン可(数文字程度のパスワードのユーザあり) このPCに外部からのログインもしたいのですが、上述のゆるさで外部公開は危険だと思うので、 * 別ポート(5022) * 外部ログイン用に作った特定ユーザのみ (rootは拒否) * 鍵必須 と、別の設定にしたいです。 単純なポートの追加だと別の設定にできないようなので調べたところ次のようなページがありました。 2つめの回答の -f で別設定ファイルを読み込み複数のデーモンを起動するというのがジャストな回答かと思うのですが、ここで疑問があります。 * 複数の sshd は公式にサポート(推奨)されるものなのでしょうか? 何らかのデメリットはでないのでしょうか?(特にセキュリティ関係で) * もし、実現はできるが適切・安全でない解決方法だとすればその他に良い方法はあるのでしょうか? * 複数デーモンが問題無いとして、毎回コマンドを実行するのではなく、本来の sshd の起動や停止と合わせたいのですが、 systemd の設定でうまく設定できる方法はありますでしょうか?(もし複数デーモンが一般的であれば設定ファイルのパスを追加すればその数だけ自動でデーモンが起動するようになっているとか) --- [ここから追記] 参考としてアドバイスいただいた RHEL のページを確認しました。 知名度が高く商用利用されている RHEL で公式にやり方を書いているくらいであり、ディストリビューションの違いがあっても openssh-server パッケージの処理や Linux のログイン仕組みは同じかと思うので、 **サポートはされていて間違っているやり方ではなさそうです**。 デメリットについては記載されてないので無いと言えるのか不明ですけど。 systemd 周りは RHEL のやり方によれば、複数デーモンをサポートしているわけではなく、 1 つのデーモンと対応づいているので、デーモンを追加するには設定ファイルをコピーして .service ファイルが増えるようです。 Ubuntu20.04 でもこの設定は RHEL7 と変わらなさそうです。 既存のデーモンと合わせて起動等してほしいですが、 .service ファイルが分かれる以上、ウェブサーバやデータベースサーバを複数起動するときと同じと考えれば許容可能です。 alias 等で両方を起動するようできますし。 その他のデメリット等、実際に運用してる人の意見が聞けると助かるので回答はまだまとうと思います。
回答: デーモンを 2つ起動するのではなく、`Match` で設定を変えるといいと思います。 ``` Match LocalPort 5022 PermitRootLogin no PasswordAuthentication no AllowUsers someuser ```