web-dev-qa-db-ja.com

Firewalld:sshサービスポートを変更した場合、新しいポート番号を許可するだけで十分ですか、それとも新しいサービスを追加する必要がありますか?

Sshポートを任意の数に変更したところ、firewalldがsshログインを許可しなくなったことに気づきました。ポート22はfirewalldのsshサービス定義にハードコードされていると思います。 TCPトラフィックに新しいポートを許可するだけで十分ですか、それともカスタムsshポートに新しいサービスを定義する必要がありますか?

2
giorgio79

ポート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接続を許可するはずです。

何が起こっているのかが少し明確になるので、私は確かにポート番号の上にサービス名を使用します。新しいサービスを作成するか、既存のサービスをオーバーライドするかは、言いたくありません。何が起こっているのかを理解するのはそれほど難しいことではありません。

6
user9517

CentOS 7でポートを変更した後、SSHでこの問題が発生しました。問題はSElinuxにあります。新しいポートのコンテキストを追加するか、SElinuxを使用しない場合は無効にする必要があります。また、新しいサービスを追加する必要はありません。新しいポートをホワイトリストに登録するだけで十分です。

1
Mugurel