サーバー基本設定
まずは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