Ubuntuのサーバーを作成したあとやるべきこと
以下は、Ubuntuサーバーを立ち上げて「さあ、これから使うぞ!」となったときに、技術者的にもエンジニア的にも(?)まずはやっておきたい初期設定+快適化のまとめです。
ちょっとしたヒューモアを交えつつ、しっかり押さえるところは押さえていきます。
「引っ越ししたらまず冷蔵庫にビール入れておきたい派」の人も、「歯ブラシはもちろん、Wi-Fiと布団があればOKだろ」という人も、ぜひ参考にどうぞ。
1. 新しいユーザーを作成する
ゴール:
root
でログインせずに安全&快適に作業できるようにする
adduser user_name
-
user_name
はあなた好みの名前に置き換えてください。 - ここで要注意なのが
adduser
とuseradd
の違い。-
adduser
→ ユーザー作成ウィザード的なもので、いろいろお膳立てしてくれる(ホームディレクトリ作成など)。 -
useradd
→ 最低限の設定しかやってくれない上級向けコマンド。使い方を誤ると「ん?ホームディレクトリは?」みたいなことになりがち。
-
- パスワードやフルネームの入力画面が出ます。入力ミスに注意しながら設定しましょう。
sudo
権限を付与する
2. 新しいユーザーに ゴール: 新しいユーザーに「偉い権限(管理者権限)」を授ける
gpasswd -a user_name sudo
- 1で作った
user_name
を指定しましょう。これで晴れてあなたのユーザーは“偉い人”仲間入り。 -
sudo
なしで何かしようとしたら「そのコマンド実行するには偉くならないとダメだよ」と怒られがちです。ここで堂々と偉くなっておきましょう。
3. SSH のパスワード認証を許可する (必要なら)
ゴール: パスワードでSSHログイン可能にする
注意: 本番運用なら鍵認証がおすすめだけど、学習・実験環境ならパスワードでもアリ
sudo vim /etc/ssh/sshd_config
- 設定ファイルの中で、
PasswordAuthentication no
をyes
に変更します。 - 保存したら後述の“sshd 再起動”をお忘れなく。
- パスワード認証は鍵認証より安全性が落ちるので、強いパスワード を設定するか、もしくは開発環境で試すだけにしておくのがおすすめです。
4. SSHセッションが自動的に切断されないように設定
ゴール: 「あ、ちょっとコーヒー取ってくるわ→戻ってきたらセッション切断…」を回避する
sudo vim /etc/ssh/sshd_config
ClientAliveInterval 120
ClientAliveCountMax 3
この2行を入れる(あるいは既存の設定値を編集する)ことで、SSH接続が「何も操作してない…ゴニョゴニョ…」と見なされる時間をちょっと緩めます。
120秒ごとに「まだ生きてる?」とクライアントに ping を飛ばし、それを3回まで繰り返すイメージ。結果として最大約6分は放置しても大丈夫になります。
「もうちょい伸ばしたい」「逆に厳しくしたい」という場合は値を増減させて調整を。
bash
に変更する
5. シェルを ゴール:
sh
から抜け出して、みんな大好き(?)bash
や他のシェルに切り替える
chsh -s /bin/bash user_name
- なぜか Ubuntu でログインしてみたら
sh
だった…というケースがあるので、慣れ親しんだbash
に変更します。 - もちろん
zsh
やfish
を使う選択肢もあり。「俺は Oh My Zsh とか oh-my-fish でド派手にいきたいぜ!」という人はそちらをどうぞ。
sshd
を再起動する
6. ゴール: SSH の設定変更を有効にする
注意: このステップを忘れると設定変更が反映されません
sudo systemctl restart sshd
- 「変更したはずなのにログイン設定が全然反映されてなくて、もう一度設定ファイルを見直す羽目に…」という悲劇を回避するためにもお忘れなく。
7. 現在のグローバルIPをチェック
ゴール: 「俺のサーバー、今どこから見えるのか?」を知る
curl inet-ip.info
- ぽん、と自分のグローバルIPアドレスが表示されます。
- 「接続先は合ってるのか?」「やっぱり家庭のWi-Fi経由か?」などの確認に便利。
- 他にも
curl ifconfig.me
やcurl icanhazip.com
など似たようなサービスは多々あります。
apt
のアップグレードをしておく
8. ゴール: システムを最新に保つ&セキュリティホールなどの早期修正
sudo apt update
sudo apt upgrade
- 基本的には
sudo apt update && sudo apt upgrade
とセットで走らせるのが定番。 - 長らく放置されたサーバーだとものすごい数のアップデートが溜まってるかもしれません。
- 依存関係の問題などでエラーが出た場合は焦らず一つひとつ解決していきましょう。
sudo apt --fix-broken install
やapt dist-upgrade
が必要になるケースも。
おまけ: 防御力を高めたいなら
ゴール: セキュリティをより盤石にしたい
-
UFW(Uncomplicated Firewall) を使って簡単にポート制限をかける。
sudo ufw allow ssh sudo ufw enable
- これだけでも大分安心感が増します。
-
Fail2Ban を導入して、パスワードクラックを試みる怪しいIPからのアクセスをブロックする。
sudo apt install fail2ban
- 設定は
/etc/fail2ban/jail.conf
で行えます。
- 設定は
まとめ
ここまでの設定を済ませれば、最低限の“歯ブラシ&トイレットペーパー&ネット環境”は整いました。
あとは必要な開発ツールを入れて、自分好みの設定でガンガンカスタマイズしちゃってください。
Ubuntuサーバーライフ、どうぞ存分にお楽しみを!
- 最後にひとこと: コマンド一発の打ち間違いは「床にコーヒーをこぼした」どころか「キーボードにビールをぶちまけた」並みの惨事を引き起こすこともあります。落ち着いて実行あるのみ!
サーバーいじりは、やればやるほどディレクトリのどこかから新たな発見があるもの。がんばっていきましょう。
Discussion