
Centos 7 ボックスの SSH ポートを変更するために、この記事を使用しました。
(selinux はインストールされていないため、スキップしました):
しかし、CentOS 7 ボックスを指す別のサーバーで nmap を実行すると、次の結果が出力されます。
Host is up (0.00023s latency).
Not shown: 65533 filtered ports
PORT STATE SERVICE
22/tcp closed ssh
1234/tcp open unknown
私は試した
sudo firewall-cmd --permanent --zone=public --remove-port=22/tcp
しかし、それが私に
Warning: NOT_ENABLED: 22:tcp
success
ここで何を誤解しているのでしょうか? ポート22をnmapに表示しないようにするにはどうすればいいでしょうか? またはすべき何らかの理由でまだ表示されますか?
答え1
Centos 7 の firewalld では、ssh はポートではなくサービス名で設定されます。
もしあなたが
firewall-cmd --list-services
「dhcpv6-client ssh」のように、マシン上で開いているサービスが一覧表示されます。
次のコマンドを実行してサービスを削除し、新しいsshポートの永続的なルールを追加し、ファイアウォールルールを再読み込みして、マシンを再度スキャンします。
firewall-cmd --zone=public --permanent --remove-service=ssh
firewall-cmd --zone=public --permanent --add-port=1234/tcp
firewall-cmd --reload
不明な場合は「--permanent」部分を省略できます。設定は再起動後に破棄されます。