CentOS 8のインストールが完了した後、最初にすべき設定(自分のPCからアクセスできるようになるまでの設定)をまとめてみました。
ということで、CentOS 8のインストールが完了し、再起動したところから、話を進めます。
sudoの設定とパッケージのアップデート
先ずは、インストール時に設定したユーザー名とパスワードで、ログインします。インストール時のユーザー設定画面で、「このユーザーを管理者にする」にチェックを入れていれば、特別な設定をしなくてもsudoコマンドが使えるようになっています。
もし、チェックを入れ忘れていたときや、root以外のユーサーが設定できないインストール方法を選択した場合は、「CentOS 7をインストールしたら最初にすべきこと」などを参照して、sudoコマンドが使えうようにしておきます。
ログインしたら、パッケージを最新版にするため、以下のコマンドを実行します。
sudo dnf -y update
CentOS 8では、パッケージ管理ツールがyumからdnfに変更となっています。
Firewallの設定
自分のPCから、sshによって、CentOS 8がインストールされたサーバーにアクセスする場合、sshdのデフォルトのポート番号が22のままだと、セキュリティ上のリスクがあります。ですから、先ずはポート番号を変更します。
Firewallコマンドで、sshd用のポート4321番を開放します。
sudo firewall-cmd --add-port=4321/tcp --zone=public
ポートの開放状況は次のコマンドで確認できます。
firewall-cmd --list-all
ports: 4321/tcpという一行があれば、設定は完了しています。
最後にオプション–permanentをつけ、firewallコマンドを実行すれば、システム再起動後も、この設定が維持されます。
sudo firewall-cmd --add-port=4321/tcp --zone=public --permanent
なお、CentOS 8では、内部的にはiptablesがnftablesに置き換えられていますが、上記のようにFirewallコマンドを利用すれば、CentOS 7のときと同じ要領で、操作可能です。
SELinuxの設定変更
続いて、SELinuxの設定を変更します。
sudo dnf install -y policycoreutils-python-utils
sudo semanage port -a -t ssh_port_t -p tcp 4321
sshdの起動と設定ファイルの編集
FirewallのSELinuxの設定が終わったら、sshdを起動します。
sudo systemctl start sshd
次に、テキストエディタで、/etc/ssh/sshd_configの該当箇所を変更します。
Port 4321
PermitRootLogin no
上記の設定は、sshdのポート番号変更の他、rootでのログイン無効化などを行っています。
書き換えが終了したら、sshdを再起動して、この設定を有効にします。
sudo systemctl restart sshd
システム再起動後にsshdを自動起動させるためは、以下のコマンドも実行しておきます。
sudo systemctl enable sshd
自分のPCからのアクセス
これで、自分のPC上からsshコマンドにより、リモートサーバー(IPアドレス12.34.56.78とする)にアクセスできるようになる。
ssh hoge@12.34.56.78 -p 4321
ここから、SSHの公開鍵認証やWebサーバーの設定など、それぞれの目的にそって、サーバーをカスタマイズしてください。