🗺️

Ubuntuのサーバーを作成したあとやるべきこと

に公開

以下は、Ubuntuサーバーを立ち上げて「さあ、これから使うぞ!」となったときに、技術者的にもエンジニア的にも(?)まずはやっておきたい初期設定+快適化のまとめです。
ちょっとしたヒューモアを交えつつ、しっかり押さえるところは押さえていきます。
「引っ越ししたらまず冷蔵庫にビール入れておきたい派」の人も、「歯ブラシはもちろん、Wi-Fiと布団があればOKだろ」という人も、ぜひ参考にどうぞ。


1. 新しいユーザーを作成する

ゴール: root でログインせずに安全&快適に作業できるようにする

adduser user_name
  • user_name はあなた好みの名前に置き換えてください。
  • ここで要注意なのが adduseruseradd の違い。
    • adduser → ユーザー作成ウィザード的なもので、いろいろお膳立てしてくれる(ホームディレクトリ作成など)。
    • useradd → 最低限の設定しかやってくれない上級向けコマンド。使い方を誤ると「ん?ホームディレクトリは?」みたいなことになりがち。
  • パスワードやフルネームの入力画面が出ます。入力ミスに注意しながら設定しましょう。

2. 新しいユーザーに sudo 権限を付与する

ゴール: 新しいユーザーに「偉い権限(管理者権限)」を授ける

gpasswd -a user_name sudo
  • 1で作った user_name を指定しましょう。これで晴れてあなたのユーザーは“偉い人”仲間入り。
  • sudo なしで何かしようとしたら「そのコマンド実行するには偉くならないとダメだよ」と怒られがちです。ここで堂々と偉くなっておきましょう。

3. SSH のパスワード認証を許可する (必要なら)

ゴール: パスワードでSSHログイン可能にする
注意: 本番運用なら鍵認証がおすすめだけど、学習・実験環境ならパスワードでもアリ

sudo vim /etc/ssh/sshd_config
  • 設定ファイルの中で、PasswordAuthentication noyes に変更します。
  • 保存したら後述の“sshd 再起動”をお忘れなく。
  • パスワード認証は鍵認証より安全性が落ちるので、強いパスワード を設定するか、もしくは開発環境で試すだけにしておくのがおすすめです。

4. SSHセッションが自動的に切断されないように設定

ゴール: 「あ、ちょっとコーヒー取ってくるわ→戻ってきたらセッション切断…」を回避する

sudo vim /etc/ssh/sshd_config
  • ClientAliveInterval 120
  • ClientAliveCountMax 3

この2行を入れる(あるいは既存の設定値を編集する)ことで、SSH接続が「何も操作してない…ゴニョゴニョ…」と見なされる時間をちょっと緩めます。
120秒ごとに「まだ生きてる?」とクライアントに ping を飛ばし、それを3回まで繰り返すイメージ。結果として最大約6分は放置しても大丈夫になります。

「もうちょい伸ばしたい」「逆に厳しくしたい」という場合は値を増減させて調整を。


5. シェルを bash に変更する

ゴール: sh から抜け出して、みんな大好き(?) bash や他のシェルに切り替える

chsh -s /bin/bash user_name
  • なぜか Ubuntu でログインしてみたら sh だった…というケースがあるので、慣れ親しんだ bash に変更します。
  • もちろん zshfish を使う選択肢もあり。「俺は Oh My Zsh とか oh-my-fish でド派手にいきたいぜ!」という人はそちらをどうぞ。

6. sshd を再起動する

ゴール: SSH の設定変更を有効にする
注意: このステップを忘れると設定変更が反映されません

sudo systemctl restart sshd
  • 「変更したはずなのにログイン設定が全然反映されてなくて、もう一度設定ファイルを見直す羽目に…」という悲劇を回避するためにもお忘れなく。

7. 現在のグローバルIPをチェック

ゴール: 「俺のサーバー、今どこから見えるのか?」を知る

curl inet-ip.info
  • ぽん、と自分のグローバルIPアドレスが表示されます。
  • 「接続先は合ってるのか?」「やっぱり家庭のWi-Fi経由か?」などの確認に便利。
  • 他にも curl ifconfig.mecurl icanhazip.com など似たようなサービスは多々あります。

8. apt のアップグレードをしておく

ゴール: システムを最新に保つ&セキュリティホールなどの早期修正

sudo apt update
sudo apt upgrade
  • 基本的には sudo apt update && sudo apt upgrade とセットで走らせるのが定番。
  • 長らく放置されたサーバーだとものすごい数のアップデートが溜まってるかもしれません。
  • 依存関係の問題などでエラーが出た場合は焦らず一つひとつ解決していきましょう。sudo apt --fix-broken installapt dist-upgrade が必要になるケースも。

おまけ: 防御力を高めたいなら

ゴール: セキュリティをより盤石にしたい

  • UFW(Uncomplicated Firewall) を使って簡単にポート制限をかける。
    sudo ufw allow ssh
    sudo ufw enable
    
    • これだけでも大分安心感が増します。
  • Fail2Ban を導入して、パスワードクラックを試みる怪しいIPからのアクセスをブロックする。
    sudo apt install fail2ban
    
    • 設定は /etc/fail2ban/jail.conf で行えます。

まとめ

ここまでの設定を済ませれば、最低限の“歯ブラシ&トイレットペーパー&ネット環境”は整いました。
あとは必要な開発ツールを入れて、自分好みの設定でガンガンカスタマイズしちゃってください。
Ubuntuサーバーライフ、どうぞ存分にお楽しみを!

  • 最後にひとこと: コマンド一発の打ち間違いは「床にコーヒーをこぼした」どころか「キーボードにビールをぶちまけた」並みの惨事を引き起こすこともあります。落ち着いて実行あるのみ!

サーバーいじりは、やればやるほどディレクトリのどこかから新たな発見があるもの。がんばっていきましょう。

Discussion