まとめ(almaliux再構築手順)

2025/10/24
# 2. ロケール設定(ja_JP.UTF-8)
sudo dnf install -y glibc-langpack-ja
sudo localectl set-locale LANG=ja_JP.UTF-8
cat /etc/locale.conf

# 3. タイムゾーンと時刻同期設定
sudo timedatectl set-timezone Asia/Tokyo
sudo systemctl enable --now chronyd
timedatectl status
想定結果:
Time zone: Asia/Tokyo
System clock synchronized: yes

# 4. SELinux 状態確認と無効化(構築が完了したら有効化する)
# さくらインターネットVPSのalmalinuxでは、SElinuxは当初からdisableなので、さくらVPSの場合は不要
getenforce
sudo cp -a /etc/selinux/config /etc/selinux/config.bak-$(date +%Y%m%d)
sudo setenforce 0 || true
sudo sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
getenforce
grep '^SELINUX=' /etc/selinux/config

# 5. スワップ領域(4GB)作成・永続化
# VPSの契約は、メモリ4GBですので、今後のメールサーバー構築を見据え、スワップ領域4GBを確保しておきます。
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
grep -q "/swapfile" /etc/fstab || echo "/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

# 6. 基本パッケージ導入
sudo dnf install -y epel-release
sudo dnf install -y bash-completion curl wget git tar zip unzip bind-utils firewalld glibc-langpack-ja telnet nc rsync screen  htop tree jq

# 7.エディタ導入
# nanoの導入
sudo dnf install -y nano vim-enhanced  

# microの導入
cd ~
curl https://getmic.ro | bash
sudo mv ~/micro /usr/local/bin/micro

#microはそのままではパスが通らないので、通しておく。
#`sudo micro` 実行時に「command not found」になる問題の対策。
#sudo secure_path に /usr/local/bin を追加(恒久対策)

grep -Rq "/usr/local/bin" /etc/sudoers /etc/sudoers.d 2>/dev/null || {
echo 'Defaults secure_path = /sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin' | sudo tee /etc/sudoers.d/10-secure-path >/dev/null
sudo chmod 440 /etc/sudoers.d/10-secure-path
sudo visudo -cf /etc/sudoers.d/10-secure-path
}
#デフォルトエディタにmicoroを指定(デフォルトをnanoにしたい場合は下記のmicroをnanoに変更)
#環境変数設定(冪等):
grep -q "EDITOR=micro" ~/.bashrc || echo 'export EDITOR=micro' >> ~/.bashrc
grep -q "VISUAL=micro" ~/.bashrc || echo 'export VISUAL=micro' >> ~/.bashrc

#8. firewalld 設定
udo systemctl enable --now firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

# 9. fail2ban 導入
sudo dnf install -y fail2ban
sudo systemctl enable --now fail2ban
sudo mkdir -p /etc/fail2ban/jail.d
cat <<'EOF' | sudo tee /etc/fail2ban/jail.d/sshd.local
[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 3600
EOF
sudo systemctl restart fail2ban
sudo fail2ban-client status sshd
# 10. 再起動前の整合チェック
sudo systemctl is-enabled firewalld
sudo systemctl is-enabled fail2ban
sudo getenforce
sudo hostnamectl
sudo timedatectl
sudo free -h
sudo firewall-cmd --list-all

11. システム更新

sudo dnf update -y

SSH接続

2025/10/24
私はwindowsから、tabby というターミナルソフトを使ってVPSに接続しています。
ターミナルソフトはいくつか選択肢がありますし、つい最近までは、TeraTermを使っていました。

ホストをIPアドレスで指定します。

Tabby設定画面
接続プロファイルの設定で、秘密鍵ファイルを指定します。
tabby1.jpg


これでSSH接続できるようになります。

鍵ペアの作り方

2025/10/24
鍵ペアは、いくつかのアルゴリズムがありますが、現代は Ed25519 方式がいいでしょう。

Windows Power Shell

Windows Power Shellを管理者権限で起動します。
ssh-keygen -t ed25519
最初のフォルダ選択で指定してもいいですが、リターンだけ押せば、表示されているフォルダに公開鍵(id_ed25519.pub)と秘密鍵(id_ed25519)が作成されます。
秘密鍵を空けるためのパスワードも設定しておきましょう。

linux

antiX runit 環境で Ed25519 方式の SSH 鍵ペアを `~/.ssh/` ディレクトリに作成する手順。

`ssh-keygen` コマンドを使用して作成します。antiX や runit に特有の手順ではなく、OpenSSH がインストールされていれば Linux 共通の方法です。

## 🔑 SSH 鍵ペア (Ed25519) の作成手順

1. `~/.ssh` ディレクトリの作成と権限設定
`~/.ssh` ディレクトリが存在しない場合は作成し、適切な権限(所有者のみ読み書き実行可)を設定。
mkdir -p ~/.ssh
chmod 700 ~/.ssh
2. `ssh-keygen` コマンドの実行
以下のコマンドを実行して、Ed25519 タイプの鍵ペアを作成します。`-f` オプションで鍵の保存場所とファイル名を指定します。
ssh-keygen -t ed25519 -f ~/.ssh/id\_ed25519
3. パスフレーズの設定
コマンドを実行すると、パスフレーズ(鍵を使用するためのパスワード)を尋ねられます。

* パスフレーズなし(Enterキーを2回押す)でも作成できますが、秘密鍵が漏洩した際のリスクが高まりますのでご注意。
    Generating public/private ed25519 key pair.
    Enter passphrase (empty for no passphrase): [ここでパスフレーズを入力]
    Enter same passphrase again: [もう一度同じパスフレーズを入力]
4. 鍵ペアの生成完了
実行が完了すると、`~/.ssh/` ディレクトリに2つのファイルが生成されます。

~/.ssh/id_ed25519`: 秘密鍵
~/.ssh/id_ed25519.pub`: 公開鍵

作成された公開鍵 (~/.ssh/id_ed25519.pub) の内容を、接続したいサーバーの ~/.ssh/authorized_keys ファイルに追記することで、この鍵ペアを使った SSH 接続が可能になります。

OS再インストール

2025/10/24
さくらインターネットVPSで、almalinux9をインストールします。
version10はまだ新しく、安定していないという話を聞きましたので、9を入れます。

OS_reinstall.jpg


SSH接続するので、クライアント側で作成した公開鍵を設定します。鍵ペアの作成方法は、こちら-鍵ペアの作成方法
鍵の名前はなんでもいいのですが、接続するクライアントの名前、とかがよいかと思います。。
SSH_key.jpg


「パスワードを利用したログインを許可する」はチェックいれずにいきましょう。

パケットフィルターは、用途によって設定が異なりますが、メールサーバーの場合は以下を設定します。
VPN用途であれば、22番だけでいいと思います。
ポート番号用途
22SSHログイン用
25外部からのメール受付、送信
587MUAからの送信(サブミッションポート)
993IMAPS接続
995POP3S接続
80web-http接続
443SLL接続
packet_filter.jpg


これで再インストールすれば、結構あっというまに完了します。