Ubuntuのサーバーを作成したあとやるべきこと
以下は、Ubuntuサーバーを立ち上げて「さあ、これから使うぞ!」となったときに、技術者的にもエンジニア的にも(?)まずはやっておきたい初期設定+快適化のまとめです。
ちょっとしたヒューモアを交えつつ、しっかり押さえるところは押さえていきます。
「引っ越ししたらまず冷蔵庫にビール入れておきたい派」の人も、「歯ブラシはもちろん、Wi-Fiと布団があればOKだろ」という人も、ぜひ参考にどうぞ。
1. 新しいユーザーを作成する
ゴール:
rootでログインせずに安全&快適に作業できるようにする
adduser user_name
-
user_nameはあなた好みの名前に置き換えてください。 - ここで要注意なのが
adduserとuseraddの違い。-
adduser→ ユーザー作成ウィザード的なもので、いろいろお膳立てしてくれる(ホームディレクトリ作成など)。 -
useradd→ 最低限の設定しかやってくれない上級向けコマンド。使い方を誤ると「ん?ホームディレクトリは?」みたいなことになりがち。
-
- パスワードやフルネームの入力画面が出ます。入力ミスに注意しながら設定しましょう。
2. 新しいユーザーに sudo 権限を付与する
ゴール: 新しいユーザーに「偉い権限(管理者権限)」を授ける
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 120ClientAliveCountMax 3
この2行を入れる(あるいは既存の設定値を編集する)ことで、SSH接続が「何も操作してない…ゴニョゴニョ…」と見なされる時間をちょっと緩めます。
120秒ごとに「まだ生きてる?」とクライアントに ping を飛ばし、それを3回まで繰り返すイメージ。結果として最大約6分は放置しても大丈夫になります。
「もうちょい伸ばしたい」「逆に厳しくしたい」という場合は値を増減させて調整を。
5. シェルを bash に変更する
ゴール:
shから抜け出して、みんな大好き(?)bashや他のシェルに切り替える
chsh -s /bin/bash user_name
- なぜか Ubuntu でログインしてみたら
shだった…というケースがあるので、慣れ親しんだbashに変更します。 - もちろん
zshやfishを使う選択肢もあり。「俺は Oh My Zsh とか oh-my-fish でド派手にいきたいぜ!」という人はそちらをどうぞ。
6. sshd を再起動する
ゴール: SSH の設定変更を有効にする
注意: このステップを忘れると設定変更が反映されません
sudo systemctl restart sshd
- 「変更したはずなのにログイン設定が全然反映されてなくて、もう一度設定ファイルを見直す羽目に…」という悲劇を回避するためにもお忘れなく。
7. 現在のグローバルIPをチェック
ゴール: 「俺のサーバー、今どこから見えるのか?」を知る
curl inet-ip.info
- ぽん、と自分のグローバルIPアドレスが表示されます。
- 「接続先は合ってるのか?」「やっぱり家庭のWi-Fi経由か?」などの確認に便利。
- 他にも
curl ifconfig.meやcurl icanhazip.comなど似たようなサービスは多々あります。
8. apt のアップグレードをしておく
ゴール: システムを最新に保つ&セキュリティホールなどの早期修正
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