⚗️

AlmaLinux 9.3 インストール後の初期設定

2024/03/19に公開

主にアップデートや SSH 鍵の設定など

インストールは以下の記事で書きました。
Hyper-V 上に AlmaLinux 9.3 を インストールする

続き。

やらなくてもいい

あとで変更したくなったら

パスワード
passwd
ホスト名
sudo vi /etc/hostname
ログイン時のメッセージ
sudo vi /etc/motd

↓ これでアスキーアートを作ると楽しい。
http://patorjk.com/software/taag/#p=display&f=ANSI Shadow&t=Zenn


初期セキュリティ設定

  • 前提
    • ファイアウォールは使用するポートだけ開放するようにする。
    • SELinux も使用する。
セキュリティアップデート
sudo dnf update
DNF Automaticをインストール
sudo dnf -y install dnf-automatic
DNF Automaticの設定ファイルを編集
sudo vi /etc/dnf/automatic.conf
automatic.conf
apply_updates = yes ← 利用可能な更新のダウンロードとインストールを自動で行う
ソフトウェア更新の自動化を有効化
sudo systemctl enable dnf-automatic-install.timer
ソフトウェア更新の自動化を起動
sudo systemctl start dnf-automatic-install.timer

鍵の形式を変更

SSH鍵を作成
ssh-keygen -t ed25519
ローカルから以下のコマンドで作成した秘密鍵を取得
sftp user@hostname:/home/user/.ssh/id_ed25519 ./
サーバーから削除する
rm .ssh/id_ed25519
コピーして公開鍵のファイル名を変える
cp .ssh/id_ed25519.pub .ssh/authorized_keys
sshd_configを編集
sudo vi /etc/ssh/sshd_config
sshd_config
#root ログインを禁止
PermitRootLogin no
#パスワード認証を無効化
PasswordAuthentication no
#パスワード無しユーザーの接続拒否
PermitEmptyPasswords no

sshd を再起動して、新しい接続で確認する

再起動
sudo systemctl restart sshd

うまくいかなかったときにそなえて既存の接続は開いたままにする。
問題なく繋がれば OK

ssh user@hostname -i .ssh\id_ecdsa

そのほかのセキュリティ対策は検索してどうぞ。


参考

https://tex2e.github.io/blog/selinux/semanage-port

その他たくさん参考にしました。


おわりに

このあと

.NET SDK をインストールして開発環境を整えました。
ローカル PC の VS Code に Remote Development をインストールして
リモート(SSH)開発できるようになった。

Python と Streamlit をインストールして Web アプリ開発もできるようにした。

Streamlit hello

ソース管理は GitHub を使用します。

GitHub Codespaces で事足りるのにこれを用意した理由は特にありません。
しいて言えば、そこに PC があったから。かな…………。

Streamlit 実行中のメモリ。
Opteron

Discussion