Sshポートを任意の数に変更したところ、firewalldがsshログインを許可しなくなったことに気づきました。ポート22はfirewalldのsshサービス定義にハードコードされていると思います。 TCPトラフィックに新しいポートを許可するだけで十分ですか、それともカスタムsshポートに新しいサービスを定義する必要がありますか?
ポート22がfirewalldのsshサービス定義にハードコードされていると思います
私のCentOS/Fedoraシステムでは、デフォルトのサービス定義は/usr/lib/firewalld/services
のxmlファイルに保存されています。ファイル名はサービスの名前です。これらは、/etc/firewalld/services
に保存されているシステム構成によって上書きされます。
Sshポートを変更するには、/usr/lib/firewalld/services/ssh.xml
を/etc/firewalld/services/ssh.xml
にコピーして、目的に合わせて変更します。
次に、構成を再ロードする必要があります
firewall-cmd --reload
これで、システムは新しいポートでssh接続を許可するはずです。
何が起こっているのかが少し明確になるので、私は確かにポート番号の上にサービス名を使用します。新しいサービスを作成するか、既存のサービスをオーバーライドするかは、言いたくありません。何が起こっているのかを理解するのはそれほど難しいことではありません。
CentOS 7でポートを変更した後、SSHでこの問題が発生しました。問題はSElinuxにあります。新しいポートのコンテキストを追加するか、SElinuxを使用しない場合は無効にする必要があります。また、新しいサービスを追加する必要はありません。新しいポートをホワイトリストに登録するだけで十分です。