CentOS9の設定って何やればいいんだろう?
そんな疑問を解消するためにこの記事ではConoHa VPSでCentOS9をインストールしたサーバーの設定を行っていきたいと思います。
この記事でやること
- ConoHa VPSでサーバーを立てる
- SSH接続
- ユーザーの追加
- 公開鍵・秘密鍵の設定
- Rootログイン禁止
- パスワードログイン禁止
- SSH接続ポート変更
ConoHa VPSでCentOS使って何かしたい人は少しは参考になるかもしれません。
ConoHa VPSでCentOS使っていきましょう。
ConoHa VPSでサーバーを立てる
まずはConoHa VPSでサーバーを立てます。
- サービス・・・VPS
- VPS割引きっぷ・・・利用しない(長期利用の際は利用すると安い)
- プラン・・・1GB
- イメージタイプ・・・CentOS(Stream9)
- rootパスワード・・・好きなrootパスワード
- ネームタグ・・・好きなネームタグ
オプションは今回そのまま何も設定しないでやります。
SSH Keyはここで作っておくのが楽な気がするけどね。
どうせ後でSSH Keyは作ることになるので、これからサーバーを作成する場合はここでSSH Keyを作ってしまうのがいいと思います。今回は作らずにやっていきますよ。
SSH接続をする
ConoHa VPSではコンソールが使えるんですが、作業しづらいのでSSH接続して作業します。まずはIPアドレスを確認しましょう。
IPアドレスを確認したら、rootでSSH接続します。
$ ssh root@IPアドレス
# パスワードが問われるので、申し込み時に設定したrootパスワードを入力
これでサーバーの中で作業していきます。
ユーザーを追加する
$ useradd kobayashi
$ passwd kobayashi
/home配下に作成したユーザーのディレクトリができるので確認してみてください。
CentOSにはwheelグループが最初から存在しているので、そこに作成したユーザーを追加します。今回はkobayashiを作成したのでkobayashiを追加。
# wheelグループに追加
$ usermod -aG wheel kobayashi
# wheelを有効にする
$ vi /etc/pam.d/su
# 以下のコメントアウトを外す
auth sufficient pam_wheel.so trust use_uid
auth required pam_wheel.so use_uid
作成したユーザーがwheelグループに入ったかどうかを確認します。
$ cat /etc/group | grep wheel
# 作成したユーザーが表示されていればOK
SSH接続を切って作成したユーザーでログインしなおします。
$ ssh kobayashi@IPアドレス
# パスワードが求められるので、設定したパスワードを入力
以後作成したユーザーでログインして作業していきましょう。
公開鍵・秘密鍵を作成する
今のままでもSSH接続はできるんですが、鍵を使った接続だけにしたいです。ConoHa VPSのサーバー内でもいいですが、ここではローカルで鍵を作成します。
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 2048
# 鍵の名前を入力可能(Enterキーでそのまま)
Enter file in which to save the key(/Users/〇〇/.ssh/id_rsa):
# 鍵のパスフレーズを入力可能(Enterキーでパスフレーズなし)
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
作成したユーザーでSSH接続して鍵を配置するディレクトリを作成します。
$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
作成した鍵をサーバー内の作成したディレクトリにおきます。
$ scp ~/.ssh/作成した公開鍵(〇〇.pub) kobayashi@IPアドレス:~/.ssh/authorized_keys
これで鍵を使ってSSH接続です。
$ ssh -i ~/.ssh/作成した秘密鍵 kobayashi@IPアドレス
うまくいけばちゃんとログインできたはずです。
Rootログインを禁止にする
$ su root
$ vi /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
↓
PermitRootLogin no
$ systemctl restart sshd
パスワードログインを禁止にする
$ su root
$ vi /etc/ssh/sshd_config
PasswordAuthentication yes
↓
PasswordAuthentication no
$ systemctl restart sshd
SSH接続ポートを変更する
$ su root
$ vi /etc/ssh/sshd_config
#Port 22
↓
Port 2222
$ systemctl restart sshd
firewall設定
firewallで変更した2222番ポートは弾かれるので、許可するように設定します。
$ sudo firewall-cmd --permanent --remove-service=ssh
$ sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/ssh-2222.xml
$ sudo vi /etc/firewalld/services/ssh-2222.xml
- <port protocol="tcp" port="22"/>
+ <port protocol="tcp" port="2222"/>
$ sudo firewall-cmd --permanent --add-service=ssh-2222
$ sudo firewall-cmd --reload
これで再度SSH接続してみます。
$ ssh -i ~/.ssh/秘密鍵 kobayashi@IPアドレス -p 2222
まとめ
ConoHa VPSでCentOS9を入れてサーバーを立ててみたけど、設定としては以下のことを行いました。
- ユーザーの追加
- 公開鍵・秘密鍵の設定
- Rootログイン禁止
- パスワードログイン禁止
- SSH接続ポート変更
もちろん今回やったこと以外にもやったほうがいいことはあると思うので、必要だと思うことは設定してみてください。