Top > About > サーバー構築メモ > サーバー基本設定

サーバー基本設定

まずはUbuntuをインストールして基本的な設定をしておく。


ConoHa VPSの作成

ConoHaからUbuntuサーバーを追加する。特に迷うところはない。
初期で外部からSSHできる用になっているので、初期はrootで操作する。

ConoHa VPSには「セキュリティグループ」というファイアウォール?があるのでそこに以下足りないものを追加しておく。

TCP/UDP ポート 用途
TCP 22 SSH
TCP 80 HTTP(nginx)
TCP 443 HTTP(nginx)
UDP 443 HTTP/3(nginx)
TCP 3306 MySQL

また、ConoHaのUbuntuイメージには初期でufwも設定されているで、そこにも足りないものがあれば追加しておく。

ufw allow 443/udp
ufw allow 3306/tcp
...
ufw status
To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
80/tcp                     ALLOW       Anywhere
443/tcp                    ALLOW       Anywhere
443/udp                    ALLOW       Anywhere
3306/tcp                   ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
80/tcp (v6)                ALLOW       Anywhere (v6)
443/tcp (v6)               ALLOW       Anywhere (v6)
443/udp (v6)               ALLOW       Anywhere (v6)
3306/tcp (v6)              ALLOW       Anywhere (v6)

ドメインの設定

サーバーにドメインでアクセスできるようドメイン側のDNS設定にAレコード(IPv4)、AAAAレコード(IPv6)を設定しておく。
なお、このサイトではお名前.COMで取得した。

なお、IPアドレスはSSHログイン時のメッセージにも表示される。

Welcome to Ubuntu 24.04.1 LTS (GNU/Linux 6.8.0-41-generic x86_64)
 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro
 System information as of 2024年  8月 XX日 金曜日 11:50:51 JST
  System load:           0.0
  Usage of /:            7.0% of 98.25GB
  Memory usage:          57%
  Swap usage:            0%
  Processes:             139
  Users logged in:       0
  IPv4 address for eth0: 163.44.103.198
  IPv6 address for eth0: 2400:8500:2002:3189:163:44:103:198

ホスト名の変更

初期値は変な名前がついているので、ConoHaのネームタグと合わせておくとわかりやすい気がする。

hostnamectl set-hostname [ホスト名]

ロケールの変更(日本語化)

とりあえず安心の日本語にしておく。

apt install language-pack-ja
update-locale LANG=ja_JP.UTF8

※再起動後以下で確認

reboot
echo $LANG

ユーザーの追加/sudo権限付与

いつまでもrootで操作するわけにもいかないのでユーザーを作成する。
以降の操作はここで作成したユーザーで行う。

adduser [ユーザー名]
gpasswd -a [ユーザー名] sudo

sshキー(公開鍵/秘密鍵)の作成

パスワードでのsshログインを禁止し、sshキー(公開鍵/秘密鍵)でsshログインするようにする。
以下コマンドでsshキーを作成する。パスフレーズは必要なければそのままEnterすればパスワードなしなる。

ssh-keygen

デフォルトの暗号化形式は"ed25519"形式なので、利用するSSHクライアントで対応していない場合などは以下のように暗号化形式を指定もできる。

ssh-keygen -t rsa

公開鍵、秘密鍵の作成されるフォルダに移動し、"id_ed25519"(秘密鍵)と、id_ed25519.pub(公開鍵)が作成されていることを確認する。

cd ~/.ssh/
ls -l
<!--
-->user@ubuntu2404:~/.ssh$ ls -l
合計 8
-rw------- 1 ubuntu ubuntu 399  8月  7 13:48 id_ed25519
-rw-r--r-- 1 ubuntu ubuntu  95  8月  7 13:48 id_ed25519.pub
user@ubuntu2404:~/.ssh$

ssh-copy-idで公開鍵を登録する。

ssh-copy-id -i id_ed25519.pub [ユーザー名]@[ホスト名]

id_ed25519(秘密鍵)をSCPなどで持ち出し配置しておき、(windowsであれば「~/.ssh」など)秘密鍵でssh接続できることを確認する。

ssh -i ~/.ssh/id_ed25519 [ユーザー名]@[ホスト名/IP/ドメイン]

パスワードによるsshを禁止する

sshキーによるログインができるようなったので、パスワードでのログインは禁止しておく。
設定ファイルを開き(/etc/ssh/sshd_config の中で、「Include /etc/ssh/sshd_config.d/*.conf」でインクルードしている)、

sudo vim /etc/ssh/sshd_config.d/50-cloud-init.conf

「PasswordAuthentication」の設定を"no"にする。

# PasswordAuthentication yes
の部分を
PasswordAuthentication no
に変更する

sshを再起動する

/etc/init.d/ssh restart